@sendbird/uikit-react-native 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/ChannelCover.js +22 -1
- package/lib/commonjs/components/ChannelCover.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/index.js +1 -1
- package/lib/commonjs/components/MessageRenderer/index.js.map +1 -1
- package/lib/commonjs/components/TypedPlaceholder.js +2 -2
- package/lib/commonjs/components/TypedPlaceholder.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +4 -18
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +8 -7
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/SendbirdChatCtx.js +4 -2
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/commonjs/contexts/{ProfileCardCtx.js → UserProfileCtx.js} +16 -19
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +3 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +4 -2
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +15 -10
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js +39 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +53 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js +34 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js +38 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js +34 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/index.js +62 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js +45 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/types.js +6 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +32 -30
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +39 -0
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +103 -0
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -0
- package/lib/commonjs/domain/groupChannelModeration/index.js +46 -0
- package/lib/commonjs/domain/groupChannelModeration/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelModeration/module/createGroupChannelModerationModule.js +33 -0
- package/lib/commonjs/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js +46 -0
- package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelModeration/types.js +6 -0
- package/lib/commonjs/domain/groupChannelModeration/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +39 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +51 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js +34 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js +38 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js +34 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/index.js +70 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js +45 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/types.js +6 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +44 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +51 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js +34 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js +38 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js +34 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/index.js +70 -0
- package/lib/commonjs/domain/groupChannelOperators/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js +45 -0
- package/lib/commonjs/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/types.js +6 -0
- package/lib/commonjs/domain/groupChannelOperators/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -8
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListStatusError.js +2 -2
- package/lib/commonjs/domain/userList/component/UserListStatusError.js.map +1 -1
- package/lib/commonjs/domain/userList/types.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelBannedUsersFragment.js +101 -0
- package/lib/commonjs/fragments/createGroupChannelBannedUsersFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +9 -25
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +4 -5
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +21 -37
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +2 -9
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +93 -49
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelModerationFragment.js +68 -0
- package/lib/commonjs/fragments/createGroupChannelModerationFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js +116 -0
- package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js +129 -0
- package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js +114 -0
- package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +2 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/commonjs/hooks/useConnection.js +4 -0
- package/lib/commonjs/hooks/useConnection.js.map +1 -1
- package/lib/commonjs/hooks/useContext.js +7 -7
- package/lib/commonjs/hooks/useContext.js.map +1 -1
- package/lib/commonjs/index.js +67 -22
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js +54 -11
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/ChannelCover.js +22 -2
- package/lib/module/components/ChannelCover.js.map +1 -1
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +2 -2
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -1
- package/lib/module/components/MessageRenderer/index.js +1 -1
- package/lib/module/components/MessageRenderer/index.js.map +1 -1
- package/lib/module/components/TypedPlaceholder.js +2 -2
- package/lib/module/components/TypedPlaceholder.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +4 -18
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +7 -6
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/SendbirdChatCtx.js +4 -2
- package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/module/contexts/{ProfileCardCtx.js → UserProfileCtx.js} +14 -17
- package/lib/module/contexts/UserProfileCtx.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +3 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +4 -2
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +16 -11
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js +25 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +40 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js +21 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js +25 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js +21 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/index.js +7 -0
- package/lib/module/domain/groupChannelBannedUsers/index.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js +30 -0
- package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/module/moduleContext.js +25 -0
- package/lib/module/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/types.js +2 -0
- package/lib/module/domain/groupChannelBannedUsers/types.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +34 -33
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/module/domain/groupChannelList/types.js.map +1 -1
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +25 -0
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -0
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +87 -0
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -0
- package/lib/module/domain/groupChannelModeration/index.js +5 -0
- package/lib/module/domain/groupChannelModeration/index.js.map +1 -0
- package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js +21 -0
- package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map +1 -0
- package/lib/module/domain/groupChannelModeration/module/moduleContext.js +26 -0
- package/lib/module/domain/groupChannelModeration/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelModeration/types.js +2 -0
- package/lib/module/domain/groupChannelModeration/types.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +25 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +38 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js +21 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js +25 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js +21 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/index.js +8 -0
- package/lib/module/domain/groupChannelMutedMembers/index.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js +30 -0
- package/lib/module/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/module/moduleContext.js +25 -0
- package/lib/module/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/types.js +2 -0
- package/lib/module/domain/groupChannelMutedMembers/types.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +30 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +38 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js +21 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js +25 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js +21 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/index.js +8 -0
- package/lib/module/domain/groupChannelOperators/index.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js +30 -0
- package/lib/module/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/module/moduleContext.js +25 -0
- package/lib/module/domain/groupChannelOperators/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/types.js +2 -0
- package/lib/module/domain/groupChannelOperators/types.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +2 -8
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/module/domain/userList/component/UserListStatusError.js +2 -2
- package/lib/module/domain/userList/component/UserListStatusError.js.map +1 -1
- package/lib/module/domain/userList/types.js.map +1 -1
- package/lib/module/fragments/createGroupChannelBannedUsersFragment.js +84 -0
- package/lib/module/fragments/createGroupChannelBannedUsersFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelCreateFragment.js +10 -26
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +4 -5
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js +22 -37
- package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js +3 -9
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelMembersFragment.js +92 -53
- package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelModerationFragment.js +53 -0
- package/lib/module/fragments/createGroupChannelModerationFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelMutedMembersFragment.js +98 -0
- package/lib/module/fragments/createGroupChannelMutedMembersFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelOperatorsFragment.js +111 -0
- package/lib/module/fragments/createGroupChannelOperatorsFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelRegisterOperatorFragment.js +94 -0
- package/lib/module/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js +2 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/module/hooks/useConnection.js +4 -0
- package/lib/module/hooks/useConnection.js.map +1 -1
- package/lib/module/hooks/useContext.js +4 -4
- package/lib/module/hooks/useContext.js.map +1 -1
- package/lib/module/index.js +7 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/localization/StringSet.type.js +54 -11
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/components/ChannelCover.d.ts +1 -1
- package/lib/typescript/src/components/TypedPlaceholder.d.ts +1 -1
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +7 -9
- package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +8 -4
- package/lib/typescript/src/contexts/{ProfileCardCtx.d.ts → UserProfileCtx.d.ts} +3 -3
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +2 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +3 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/types.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/index.d.ts +6 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +47 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListTypeSelector.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +1 -9
- package/lib/typescript/src/domain/groupChannelModeration/component/GroupChannelModerationHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelModeration/component/GroupChannelModerationMenu.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelModeration/index.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelModeration/module/createGroupChannelModerationModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelModeration/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +43 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/index.d.ts +7 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +47 -0
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelOperators/index.d.ts +7 -0
- package/lib/typescript/src/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelOperators/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +49 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +18 -12
- package/lib/typescript/src/domain/userList/component/UserListStatusError.d.ts +2 -2
- package/lib/typescript/src/domain/userList/types.d.ts +4 -3
- package/lib/typescript/src/fragments/createGroupChannelBannedUsersFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +2 -1
- package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +2 -1
- package/lib/typescript/src/fragments/createGroupChannelModerationFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelMutedMembersFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelOperatorsFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelRegisterOperatorFragment.d.ts +5 -0
- package/lib/typescript/src/hooks/useContext.d.ts +2 -1
- package/lib/typescript/src/index.d.ts +7 -2
- package/lib/typescript/src/localization/StringSet.type.d.ts +41 -6
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +6 -6
- package/src/components/ChannelCover.tsx +23 -3
- package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +2 -2
- package/src/components/MessageRenderer/index.tsx +1 -1
- package/src/components/TypedPlaceholder.tsx +4 -4
- package/src/containers/GroupChannelPreviewContainer.tsx +1 -15
- package/src/containers/SendbirdUIKitContainer.tsx +12 -13
- package/src/contexts/SendbirdChatCtx.tsx +10 -4
- package/src/contexts/{ProfileCardCtx.tsx → UserProfileCtx.tsx} +17 -16
- package/src/domain/groupChannel/component/GroupChannelInput/EditInput.tsx +3 -1
- package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +17 -3
- package/src/domain/groupChannel/component/GroupChannelInput/index.tsx +11 -8
- package/src/domain/groupChannel/types.ts +1 -1
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.tsx +14 -0
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.tsx +32 -0
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.tsx +18 -0
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.tsx +19 -0
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.tsx +18 -0
- package/src/domain/groupChannelBannedUsers/index.ts +6 -0
- package/src/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.tsx +21 -0
- package/src/domain/groupChannelBannedUsers/module/moduleContext.tsx +30 -0
- package/src/domain/groupChannelBannedUsers/types.ts +50 -0
- package/src/domain/groupChannelList/component/GroupChannelListTypeSelector.tsx +37 -43
- package/src/domain/groupChannelList/types.ts +1 -7
- package/src/domain/groupChannelModeration/component/GroupChannelModerationHeader.tsx +14 -0
- package/src/domain/groupChannelModeration/component/GroupChannelModerationMenu.tsx +84 -0
- package/src/domain/groupChannelModeration/index.ts +4 -0
- package/src/domain/groupChannelModeration/module/createGroupChannelModerationModule.tsx +15 -0
- package/src/domain/groupChannelModeration/module/moduleContext.tsx +33 -0
- package/src/domain/groupChannelModeration/types.ts +48 -0
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.tsx +14 -0
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +30 -0
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.tsx +18 -0
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.tsx +19 -0
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.tsx +18 -0
- package/src/domain/groupChannelMutedMembers/index.ts +7 -0
- package/src/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.tsx +21 -0
- package/src/domain/groupChannelMutedMembers/module/moduleContext.tsx +30 -0
- package/src/domain/groupChannelMutedMembers/types.ts +50 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.tsx +25 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +29 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.tsx +18 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.tsx +19 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.tsx +18 -0
- package/src/domain/groupChannelOperators/index.ts +7 -0
- package/src/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.tsx +21 -0
- package/src/domain/groupChannelOperators/module/moduleContext.tsx +30 -0
- package/src/domain/groupChannelOperators/types.ts +52 -0
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.tsx +2 -7
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +9 -0
- package/src/domain/groupChannelSettings/types.ts +2 -0
- package/src/domain/groupChannelUserList/types.ts +27 -12
- package/src/domain/userList/component/UserListStatusError.tsx +2 -2
- package/src/domain/userList/types.ts +4 -1
- package/src/fragments/createGroupChannelBannedUsersFragment.tsx +80 -0
- package/src/fragments/createGroupChannelCreateFragment.tsx +13 -33
- package/src/fragments/createGroupChannelFragment.tsx +9 -12
- package/src/fragments/createGroupChannelInviteFragment.tsx +28 -50
- package/src/fragments/createGroupChannelListFragment.tsx +3 -8
- package/src/fragments/createGroupChannelMembersFragment.tsx +94 -51
- package/src/fragments/createGroupChannelModerationFragment.tsx +57 -0
- package/src/fragments/createGroupChannelMutedMembersFragment.tsx +93 -0
- package/src/fragments/createGroupChannelOperatorsFragment.tsx +101 -0
- package/src/fragments/createGroupChannelRegisterOperatorFragment.tsx +94 -0
- package/src/fragments/createGroupChannelSettingsFragment.tsx +9 -1
- package/src/hooks/useConnection.ts +2 -0
- package/src/hooks/useContext.ts +4 -4
- package/src/index.ts +7 -2
- package/src/localization/StringSet.type.ts +87 -14
- package/src/version.ts +1 -1
- package/lib/commonjs/contexts/ProfileCardCtx.js.map +0 -1
- package/lib/module/contexts/ProfileCardCtx.js.map +0 -1
|
@@ -4,7 +4,7 @@ import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
|
4
4
|
import { KeyboardAvoidingView, Platform, View } from 'react-native';
|
|
5
5
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
6
6
|
import { useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
7
|
-
import {
|
|
7
|
+
import { getGroupChannelChatAvailableState, useIIFE } from '@sendbird/uikit-utils';
|
|
8
8
|
import { GroupChannelContexts } from '../../module/moduleContext';
|
|
9
9
|
import EditInput from './EditInput';
|
|
10
10
|
import SendInput from './SendInput';
|
|
@@ -14,9 +14,6 @@ const KEYBOARD_AVOID_VIEW_BEHAVIOR = Platform.select({
|
|
|
14
14
|
});
|
|
15
15
|
|
|
16
16
|
const GroupChannelInput = props => {
|
|
17
|
-
const {
|
|
18
|
-
channel
|
|
19
|
-
} = props;
|
|
20
17
|
const {
|
|
21
18
|
left,
|
|
22
19
|
right,
|
|
@@ -26,29 +23,37 @@ const GroupChannelInput = props => {
|
|
|
26
23
|
colors
|
|
27
24
|
} = useUIKitTheme();
|
|
28
25
|
const {
|
|
26
|
+
channel,
|
|
29
27
|
editMessage,
|
|
30
28
|
setEditMessage,
|
|
31
29
|
keyboardAvoidOffset = 0
|
|
32
30
|
} = useContext(GroupChannelContexts.Fragment);
|
|
33
31
|
const [text, setText] = useState('');
|
|
34
32
|
const textTmpRef = useRef('');
|
|
35
|
-
const
|
|
33
|
+
const chatAvailableState = getGroupChannelChatAvailableState(channel);
|
|
36
34
|
useEffect(() => {
|
|
37
35
|
if (text.length === 0) channel.endTyping();else channel.startTyping();
|
|
38
36
|
}, [text]);
|
|
39
37
|
useEffect(() => {
|
|
40
|
-
if (
|
|
38
|
+
if (chatAvailableState.disabled) {
|
|
41
39
|
textTmpRef.current = text;
|
|
42
40
|
setText('');
|
|
43
41
|
} else {
|
|
44
42
|
setText(textTmpRef.current);
|
|
45
43
|
}
|
|
46
|
-
}, [
|
|
44
|
+
}, [chatAvailableState.disabled]);
|
|
47
45
|
const inputMode = useIIFE(() => {
|
|
48
46
|
if (!editMessage) return 'send';
|
|
49
47
|
if (editMessage.isFileMessage()) return 'send';
|
|
50
48
|
return 'edit';
|
|
51
49
|
});
|
|
50
|
+
|
|
51
|
+
if (!props.shouldRenderInput) {
|
|
52
|
+
return /*#__PURE__*/React.createElement(SafeAreaBottom, {
|
|
53
|
+
height: bottom
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
52
57
|
return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
|
53
58
|
keyboardVerticalOffset: -bottom + keyboardAvoidOffset,
|
|
54
59
|
behavior: KEYBOARD_AVOID_VIEW_BEHAVIOR
|
|
@@ -65,13 +70,13 @@ const GroupChannelInput = props => {
|
|
|
65
70
|
}
|
|
66
71
|
}, inputMode === 'send' && /*#__PURE__*/React.createElement(SendInput, _extends({}, props, {
|
|
67
72
|
text: text,
|
|
68
|
-
setText: setText
|
|
69
|
-
|
|
70
|
-
})), inputMode === 'edit' && editMessage && /*#__PURE__*/React.createElement(EditInput, _extends({}, props, {
|
|
73
|
+
setText: setText
|
|
74
|
+
}, chatAvailableState)), inputMode === 'edit' && editMessage && /*#__PURE__*/React.createElement(EditInput, _extends({}, props, {
|
|
71
75
|
text: text,
|
|
72
76
|
setText: setText,
|
|
73
77
|
editMessage: editMessage,
|
|
74
|
-
setEditMessage: setEditMessage
|
|
78
|
+
setEditMessage: setEditMessage,
|
|
79
|
+
disabled: chatAvailableState.disabled
|
|
75
80
|
}))), /*#__PURE__*/React.createElement(SafeAreaBottom, {
|
|
76
81
|
height: bottom
|
|
77
82
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useContext","useEffect","useRef","useState","KeyboardAvoidingView","Platform","View","useSafeAreaInsets","useUIKitTheme","
|
|
1
|
+
{"version":3,"names":["React","useContext","useEffect","useRef","useState","KeyboardAvoidingView","Platform","View","useSafeAreaInsets","useUIKitTheme","getGroupChannelChatAvailableState","useIIFE","GroupChannelContexts","EditInput","SendInput","KEYBOARD_AVOID_VIEW_BEHAVIOR","select","ios","default","undefined","GroupChannelInput","props","left","right","bottom","colors","channel","editMessage","setEditMessage","keyboardAvoidOffset","Fragment","text","setText","textTmpRef","chatAvailableState","length","endTyping","startTyping","disabled","current","inputMode","isFileMessage","shouldRenderInput","paddingLeft","paddingRight","backgroundColor","background","justifyContent","width","SafeAreaBottom","height","memo"],"sources":["index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useRef, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { getGroupChannelChatAvailableState, useIIFE } from '@sendbird/uikit-utils';\n\nimport { GroupChannelContexts } from '../../module/moduleContext';\nimport type { GroupChannelProps } from '../../types';\nimport EditInput from './EditInput';\nimport SendInput from './SendInput';\n\nconst KEYBOARD_AVOID_VIEW_BEHAVIOR = Platform.select({ ios: 'padding' as const, default: undefined });\nconst GroupChannelInput = (props: GroupChannelProps['Input']) => {\n const { left, right, bottom } = useSafeAreaInsets();\n const { colors } = useUIKitTheme();\n const { channel, editMessage, setEditMessage, keyboardAvoidOffset = 0 } = useContext(GroupChannelContexts.Fragment);\n\n const [text, setText] = useState('');\n const textTmpRef = useRef('');\n const chatAvailableState = getGroupChannelChatAvailableState(channel);\n\n useEffect(() => {\n if (text.length === 0) channel.endTyping();\n else channel.startTyping();\n }, [text]);\n\n useEffect(() => {\n if (chatAvailableState.disabled) {\n textTmpRef.current = text;\n setText('');\n } else {\n setText(textTmpRef.current);\n }\n }, [chatAvailableState.disabled]);\n\n const inputMode = useIIFE(() => {\n if (!editMessage) return 'send';\n if (editMessage.isFileMessage()) return 'send';\n return 'edit';\n });\n\n if (!props.shouldRenderInput) {\n return <SafeAreaBottom height={bottom} />;\n }\n\n return (\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 style={{ justifyContent: 'center', width: '100%' }}>\n {inputMode === 'send' && <SendInput {...props} text={text} setText={setText} {...chatAvailableState} />}\n {inputMode === 'edit' && editMessage && (\n <EditInput\n {...props}\n text={text}\n setText={setText}\n editMessage={editMessage}\n setEditMessage={setEditMessage}\n disabled={chatAvailableState.disabled}\n />\n )}\n </View>\n <SafeAreaBottom height={bottom} />\n </View>\n </KeyboardAvoidingView>\n );\n};\nconst SafeAreaBottom = ({ height }: { height: number }) => {\n return <View style={{ height }} />;\n};\n\nexport default React.memo(GroupChannelInput);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseGroupChannelMessagesOptions } from '@sendbird/uikit-chat-hooks';\nimport type {\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdGroupChannel,\n SendbirdMessage,\n SendbirdUser,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n} from '@sendbird/uikit-utils';\n\nimport type { FileType } from '../../platform/types';\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelProps {\n Fragment: {\n channel: SendbirdGroupChannel;\n onChannelDeleted: () => void;\n onPressHeaderLeft: GroupChannelProps['Header']['onPressHeaderLeft'];\n onPressHeaderRight: GroupChannelProps['Header']['onPressHeaderRight'];\n\n onBeforeSendFileMessage?: (\n params: SendbirdFileMessageCreateParams,\n ) => SendbirdFileMessageCreateParams | Promise<SendbirdFileMessageCreateParams>;\n onBeforeSendUserMessage?: (\n params: SendbirdUserMessageCreateParams,\n ) => SendbirdUserMessageCreateParams | Promise<SendbirdUserMessageCreateParams>;\n onPressMediaMessage?: GroupChannelProps['MessageList']['onPressMediaMessage'];\n\n renderMessage?: GroupChannelProps['MessageList']['renderMessage'];\n renderNewMessagesButton?: GroupChannelProps['MessageList']['renderNewMessagesButton'];\n renderScrollToBottomButton?: GroupChannelProps['MessageList']['renderScrollToBottomButton'];\n\n enableTypingIndicator?: GroupChannelProps['Provider']['enableTypingIndicator'];\n enableMessageGrouping?: GroupChannelProps['MessageList']['enableMessageGrouping'];\n\n keyboardAvoidOffset?: GroupChannelProps['Provider']['keyboardAvoidOffset'];\n flatListProps?: GroupChannelProps['MessageList']['flatListProps'];\n sortComparator?: UseGroupChannelMessagesOptions['sortComparator'];\n collectionCreator?: UseGroupChannelMessagesOptions['collectionCreator'];\n queryCreator?: UseGroupChannelMessagesOptions['queryCreator'];\n\n /** @deprecated `onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead **/\n onPressImageMessage?: GroupChannelProps['MessageList']['onPressImageMessage'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n onPressHeaderRight: () => void;\n };\n MessageList: {\n enableMessageGrouping: boolean;\n currentUserId?: string;\n channel: SendbirdGroupChannel;\n messages: SendbirdMessage[];\n nextMessages: SendbirdMessage[];\n newMessagesFromMembers: SendbirdMessage[];\n onTopReached: () => void;\n onBottomReached: () => void;\n\n onResendFailedMessage: (failedMessage: SendbirdUserMessage | SendbirdFileMessage) => Promise<void>;\n onDeleteMessage: (message: SendbirdUserMessage | SendbirdFileMessage) => Promise<void>;\n onPressMediaMessage?: (message: SendbirdFileMessage, deleteMessage: () => Promise<void>, uri: string) => void;\n\n renderMessage: (props: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n nextMessage?: SendbirdMessage;\n onPress?: () => void;\n onLongPress?: () => void;\n channel: GroupChannelProps['MessageList']['channel'];\n currentUserId?: GroupChannelProps['MessageList']['currentUserId'];\n enableMessageGrouping: GroupChannelProps['MessageList']['enableMessageGrouping'];\n }) => React.ReactElement | null;\n renderNewMessagesButton: null | CommonComponent<{\n visible: boolean;\n onPress: () => void;\n newMessages: SendbirdMessage[];\n }>;\n renderScrollToBottomButton: null | CommonComponent<{\n visible: boolean;\n onPress: () => void;\n }>;\n flatListProps?: Omit<FlatListProps<SendbirdMessage>, 'data' | 'renderItem'>;\n\n /** @deprecated `onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead **/\n onPressImageMessage?: (message: SendbirdFileMessage, uri: string) => void;\n };\n Input: {\n
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseGroupChannelMessagesOptions } from '@sendbird/uikit-chat-hooks';\nimport type {\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdGroupChannel,\n SendbirdMessage,\n SendbirdUser,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n} from '@sendbird/uikit-utils';\n\nimport type { FileType } from '../../platform/types';\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelProps {\n Fragment: {\n channel: SendbirdGroupChannel;\n onChannelDeleted: () => void;\n onPressHeaderLeft: GroupChannelProps['Header']['onPressHeaderLeft'];\n onPressHeaderRight: GroupChannelProps['Header']['onPressHeaderRight'];\n\n onBeforeSendFileMessage?: (\n params: SendbirdFileMessageCreateParams,\n ) => SendbirdFileMessageCreateParams | Promise<SendbirdFileMessageCreateParams>;\n onBeforeSendUserMessage?: (\n params: SendbirdUserMessageCreateParams,\n ) => SendbirdUserMessageCreateParams | Promise<SendbirdUserMessageCreateParams>;\n onPressMediaMessage?: GroupChannelProps['MessageList']['onPressMediaMessage'];\n\n renderMessage?: GroupChannelProps['MessageList']['renderMessage'];\n renderNewMessagesButton?: GroupChannelProps['MessageList']['renderNewMessagesButton'];\n renderScrollToBottomButton?: GroupChannelProps['MessageList']['renderScrollToBottomButton'];\n\n enableTypingIndicator?: GroupChannelProps['Provider']['enableTypingIndicator'];\n enableMessageGrouping?: GroupChannelProps['MessageList']['enableMessageGrouping'];\n\n keyboardAvoidOffset?: GroupChannelProps['Provider']['keyboardAvoidOffset'];\n flatListProps?: GroupChannelProps['MessageList']['flatListProps'];\n sortComparator?: UseGroupChannelMessagesOptions['sortComparator'];\n collectionCreator?: UseGroupChannelMessagesOptions['collectionCreator'];\n queryCreator?: UseGroupChannelMessagesOptions['queryCreator'];\n\n /** @deprecated `onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead **/\n onPressImageMessage?: GroupChannelProps['MessageList']['onPressImageMessage'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n onPressHeaderRight: () => void;\n };\n MessageList: {\n enableMessageGrouping: boolean;\n currentUserId?: string;\n channel: SendbirdGroupChannel;\n messages: SendbirdMessage[];\n nextMessages: SendbirdMessage[];\n newMessagesFromMembers: SendbirdMessage[];\n onTopReached: () => void;\n onBottomReached: () => void;\n\n onResendFailedMessage: (failedMessage: SendbirdUserMessage | SendbirdFileMessage) => Promise<void>;\n onDeleteMessage: (message: SendbirdUserMessage | SendbirdFileMessage) => Promise<void>;\n onPressMediaMessage?: (message: SendbirdFileMessage, deleteMessage: () => Promise<void>, uri: string) => void;\n\n renderMessage: (props: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n nextMessage?: SendbirdMessage;\n onPress?: () => void;\n onLongPress?: () => void;\n channel: GroupChannelProps['MessageList']['channel'];\n currentUserId?: GroupChannelProps['MessageList']['currentUserId'];\n enableMessageGrouping: GroupChannelProps['MessageList']['enableMessageGrouping'];\n }) => React.ReactElement | null;\n renderNewMessagesButton: null | CommonComponent<{\n visible: boolean;\n onPress: () => void;\n newMessages: SendbirdMessage[];\n }>;\n renderScrollToBottomButton: null | CommonComponent<{\n visible: boolean;\n onPress: () => void;\n }>;\n flatListProps?: Omit<FlatListProps<SendbirdMessage>, 'data' | 'renderItem'>;\n\n /** @deprecated `onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead **/\n onPressImageMessage?: (message: SendbirdFileMessage, uri: string) => void;\n };\n Input: {\n shouldRenderInput: boolean;\n onSendFileMessage: (file: FileType) => Promise<void>;\n onSendUserMessage: (text: string) => Promise<void>;\n onUpdateFileMessage: (editedFile: FileType, message: SendbirdFileMessage) => Promise<void>;\n onUpdateUserMessage: (editedText: string, message: SendbirdUserMessage) => Promise<void>;\n };\n Provider: {\n channel: SendbirdGroupChannel;\n enableTypingIndicator: boolean;\n keyboardAvoidOffset?: number;\n };\n}\n\n/**\n * Internal context for GroupChannel\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelContextsType {\n Fragment: React.Context<{\n headerTitle: string;\n channel: SendbirdGroupChannel;\n editMessage?: SendbirdUserMessage | SendbirdFileMessage;\n setEditMessage: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;\n keyboardAvoidOffset?: number;\n }>;\n TypingIndicator: React.Context<{\n typingUsers: SendbirdUser[];\n }>;\n}\nexport interface GroupChannelModule {\n Provider: CommonComponent<GroupChannelProps['Provider']>;\n Header: CommonComponent<GroupChannelProps['Header']>;\n MessageList: CommonComponent<GroupChannelProps['MessageList']>;\n Input: CommonComponent<GroupChannelProps['Input']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n}\n\nexport type GroupChannelFragment = CommonComponent<GroupChannelProps['Fragment']>;\n"],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { Icon, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';
|
|
3
|
+
import { GroupChannelBannedUsersContexts } from '../module/moduleContext';
|
|
4
|
+
|
|
5
|
+
const GroupChannelBannedUsersHeader = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
onPressHeaderLeft
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
headerTitle
|
|
11
|
+
} = useContext(GroupChannelBannedUsersContexts.Fragment);
|
|
12
|
+
const {
|
|
13
|
+
HeaderComponent
|
|
14
|
+
} = useHeaderStyle();
|
|
15
|
+
return /*#__PURE__*/React.createElement(HeaderComponent, {
|
|
16
|
+
title: headerTitle,
|
|
17
|
+
left: /*#__PURE__*/React.createElement(Icon, {
|
|
18
|
+
icon: 'arrow-left'
|
|
19
|
+
}),
|
|
20
|
+
onPressLeft: onPressHeaderLeft
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export default GroupChannelBannedUsersHeader;
|
|
25
|
+
//# sourceMappingURL=GroupChannelBannedUsersHeader.js.map
|
package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","Icon","useHeaderStyle","GroupChannelBannedUsersContexts","GroupChannelBannedUsersHeader","onPressHeaderLeft","headerTitle","Fragment","HeaderComponent"],"sources":["GroupChannelBannedUsersHeader.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { Icon, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';\n\nimport { GroupChannelBannedUsersContexts } from '../module/moduleContext';\nimport type { GroupChannelBannedUsersProps } from '../types';\n\nconst GroupChannelBannedUsersHeader = ({ onPressHeaderLeft }: GroupChannelBannedUsersProps['Header']) => {\n const { headerTitle } = useContext(GroupChannelBannedUsersContexts.Fragment);\n const { HeaderComponent } = useHeaderStyle();\n return <HeaderComponent title={headerTitle} left={<Icon icon={'arrow-left'} />} onPressLeft={onPressHeaderLeft} />;\n};\n\nexport default GroupChannelBannedUsersHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AAEA,SAASC,IAAT,EAAeC,cAAf,QAAqC,yCAArC;AAEA,SAASC,+BAAT,QAAgD,yBAAhD;;AAGA,MAAMC,6BAA6B,GAAG,QAAmE;EAAA,IAAlE;IAAEC;EAAF,CAAkE;EACvG,MAAM;IAAEC;EAAF,IAAkBN,UAAU,CAACG,+BAA+B,CAACI,QAAjC,CAAlC;EACA,MAAM;IAAEC;EAAF,IAAsBN,cAAc,EAA1C;EACA,oBAAO,oBAAC,eAAD;IAAiB,KAAK,EAAEI,WAAxB;IAAqC,IAAI,eAAE,oBAAC,IAAD;MAAM,IAAI,EAAE;IAAZ,EAA3C;IAAyE,WAAW,EAAED;EAAtF,EAAP;AACD,CAJD;;AAMA,eAAeD,6BAAf"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FlatList } from 'react-native';
|
|
3
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
4
|
+
import { useFreshCallback } from '@sendbird/uikit-utils';
|
|
5
|
+
|
|
6
|
+
const GroupChannelBannedUsersList = _ref => {
|
|
7
|
+
let {
|
|
8
|
+
renderUser,
|
|
9
|
+
bannedUsers,
|
|
10
|
+
onLoadNext,
|
|
11
|
+
ListEmptyComponent
|
|
12
|
+
} = _ref;
|
|
13
|
+
const renderItem = useFreshCallback(_ref2 => {
|
|
14
|
+
let {
|
|
15
|
+
item
|
|
16
|
+
} = _ref2;
|
|
17
|
+
return renderUser === null || renderUser === void 0 ? void 0 : renderUser({
|
|
18
|
+
user: item
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
const {
|
|
22
|
+
left,
|
|
23
|
+
right
|
|
24
|
+
} = useSafeAreaInsets();
|
|
25
|
+
return /*#__PURE__*/React.createElement(FlatList, {
|
|
26
|
+
data: bannedUsers,
|
|
27
|
+
renderItem: renderItem,
|
|
28
|
+
contentContainerStyle: {
|
|
29
|
+
paddingLeft: left,
|
|
30
|
+
paddingRight: right,
|
|
31
|
+
flexGrow: 1
|
|
32
|
+
},
|
|
33
|
+
ListEmptyComponent: ListEmptyComponent,
|
|
34
|
+
onEndReached: () => onLoadNext(),
|
|
35
|
+
bounces: false
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export default GroupChannelBannedUsersList;
|
|
40
|
+
//# sourceMappingURL=GroupChannelBannedUsersList.js.map
|
package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","FlatList","useSafeAreaInsets","useFreshCallback","GroupChannelBannedUsersList","renderUser","bannedUsers","onLoadNext","ListEmptyComponent","renderItem","item","user","left","right","paddingLeft","paddingRight","flexGrow"],"sources":["GroupChannelBannedUsersList.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { SendbirdRestrictedUser, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { GroupChannelBannedUsersProps } from '../types';\n\nconst GroupChannelBannedUsersList = ({\n renderUser,\n bannedUsers,\n onLoadNext,\n ListEmptyComponent,\n}: GroupChannelBannedUsersProps['List']) => {\n const renderItem: ListRenderItem<SendbirdRestrictedUser> = useFreshCallback(({ item }) =>\n renderUser?.({ user: item }),\n );\n const { left, right } = useSafeAreaInsets();\n\n return (\n <FlatList\n data={bannedUsers}\n renderItem={renderItem}\n contentContainerStyle={{ paddingLeft: left, paddingRight: right, flexGrow: 1 }}\n ListEmptyComponent={ListEmptyComponent}\n onEndReached={() => onLoadNext()}\n bounces={false}\n />\n );\n};\n\nexport default GroupChannelBannedUsersList;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyC,cAAzC;AACA,SAASC,iBAAT,QAAkC,gCAAlC;AAEA,SAAiCC,gBAAjC,QAAyD,uBAAzD;;AAIA,MAAMC,2BAA2B,GAAG,QAKQ;EAAA,IALP;IACnCC,UADmC;IAEnCC,WAFmC;IAGnCC,UAHmC;IAInCC;EAJmC,CAKO;EAC1C,MAAMC,UAAkD,GAAGN,gBAAgB,CAAC;IAAA,IAAC;MAAEO;IAAF,CAAD;IAAA,OAC1EL,UAD0E,aAC1EA,UAD0E,uBAC1EA,UAAU,CAAG;MAAEM,IAAI,EAAED;IAAR,CAAH,CADgE;EAAA,CAAD,CAA3E;EAGA,MAAM;IAAEE,IAAF;IAAQC;EAAR,IAAkBX,iBAAiB,EAAzC;EAEA,oBACE,oBAAC,QAAD;IACE,IAAI,EAAEI,WADR;IAEE,UAAU,EAAEG,UAFd;IAGE,qBAAqB,EAAE;MAAEK,WAAW,EAAEF,IAAf;MAAqBG,YAAY,EAAEF,KAAnC;MAA0CG,QAAQ,EAAE;IAApD,CAHzB;IAIE,kBAAkB,EAAER,kBAJtB;IAKE,YAAY,EAAE,MAAMD,UAAU,EALhC;IAME,OAAO,EAAE;EANX,EADF;AAUD,CArBD;;AAuBA,eAAeH,2BAAf"}
|
package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import TypedPlaceholder from '../../../components/TypedPlaceholder';
|
|
4
|
+
|
|
5
|
+
const GroupChannelBannedUsersStatusEmpty = () => {
|
|
6
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
7
|
+
style: styles.container
|
|
8
|
+
}, /*#__PURE__*/React.createElement(TypedPlaceholder, {
|
|
9
|
+
type: 'no-banned-users'
|
|
10
|
+
}));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
container: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
justifyContent: 'center',
|
|
17
|
+
alignItems: 'center'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
export default GroupChannelBannedUsersStatusEmpty;
|
|
21
|
+
//# sourceMappingURL=GroupChannelBannedUsersStatusEmpty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","GroupChannelBannedUsersStatusEmpty","styles","container","create","flex","justifyContent","alignItems"],"sources":["GroupChannelBannedUsersStatusEmpty.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst GroupChannelBannedUsersStatusEmpty = () => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'no-banned-users'} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default GroupChannelBannedUsersStatusEmpty;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAEA,MAAMC,kCAAkC,GAAG,MAAM;EAC/C,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE;EAAxB,EADF,CADF;AAKD,CAND;;AAQA,MAAMD,MAAM,GAAGJ,UAAU,CAACM,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IAAEE,IAAI,EAAE,CAAR;IAAWC,cAAc,EAAE,QAA3B;IAAqCC,UAAU,EAAE;EAAjD;AADoB,CAAlB,CAAf;AAIA,eAAeN,kCAAf"}
|
package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import TypedPlaceholder from '../../../components/TypedPlaceholder';
|
|
4
|
+
|
|
5
|
+
const GroupChannelBannedUsersStatusError = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
onPressRetry
|
|
8
|
+
} = _ref;
|
|
9
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
10
|
+
style: styles.container
|
|
11
|
+
}, /*#__PURE__*/React.createElement(TypedPlaceholder, {
|
|
12
|
+
type: 'error-wrong',
|
|
13
|
+
onPressRetry: onPressRetry
|
|
14
|
+
}));
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const styles = StyleSheet.create({
|
|
18
|
+
container: {
|
|
19
|
+
flex: 1,
|
|
20
|
+
justifyContent: 'center',
|
|
21
|
+
alignItems: 'center'
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
export default GroupChannelBannedUsersStatusError;
|
|
25
|
+
//# sourceMappingURL=GroupChannelBannedUsersStatusError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","GroupChannelBannedUsersStatusError","onPressRetry","styles","container","create","flex","justifyContent","alignItems"],"sources":["GroupChannelBannedUsersStatusError.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\nimport type { GroupChannelBannedUsersModule } from '../types';\n\nconst GroupChannelBannedUsersStatusError: GroupChannelBannedUsersModule['StatusError'] = ({ onPressRetry }) => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'error-wrong'} onPressRetry={onPressRetry} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default GroupChannelBannedUsersStatusError;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAGA,MAAMC,kCAAgF,GAAG,QAAsB;EAAA,IAArB;IAAEC;EAAF,CAAqB;EAC7G,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE,aAAxB;IAAuC,YAAY,EAAEF;EAArD,EADF,CADF;AAKD,CAND;;AAQA,MAAMC,MAAM,GAAGL,UAAU,CAACO,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IAAEE,IAAI,EAAE,CAAR;IAAWC,cAAc,EAAE,QAA3B;IAAqCC,UAAU,EAAE;EAAjD;AADoB,CAAlB,CAAf;AAIA,eAAeP,kCAAf"}
|
package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import TypedPlaceholder from '../../../components/TypedPlaceholder';
|
|
4
|
+
|
|
5
|
+
const GroupChannelBannedUsersStatusLoading = () => {
|
|
6
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
7
|
+
style: styles.container
|
|
8
|
+
}, /*#__PURE__*/React.createElement(TypedPlaceholder, {
|
|
9
|
+
type: 'loading'
|
|
10
|
+
}));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
container: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
justifyContent: 'center',
|
|
17
|
+
alignItems: 'center'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
export default GroupChannelBannedUsersStatusLoading;
|
|
21
|
+
//# sourceMappingURL=GroupChannelBannedUsersStatusLoading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","GroupChannelBannedUsersStatusLoading","styles","container","create","flex","justifyContent","alignItems"],"sources":["GroupChannelBannedUsersStatusLoading.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst GroupChannelBannedUsersStatusLoading = () => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'loading'} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default GroupChannelBannedUsersStatusLoading;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAEA,MAAMC,oCAAoC,GAAG,MAAM;EACjD,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE;EAAxB,EADF,CADF;AAKD,CAND;;AAQA,MAAMD,MAAM,GAAGJ,UAAU,CAACM,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IAAEE,IAAI,EAAE,CAAR;IAAWC,cAAc,EAAE,QAA3B;IAAqCC,UAAU,EAAE;EAAjD;AADoB,CAAlB,CAAf;AAIA,eAAeN,oCAAf"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as GroupChannelBannedUsersList } from './component/GroupChannelBannedUsersList';
|
|
2
|
+
export { default as GroupChannelBannedUsersHeader } from './component/GroupChannelBannedUsersHeader';
|
|
3
|
+
export { default as GroupChannelBannedUsersStatusLoading } from './component/GroupChannelBannedUsersStatusLoading';
|
|
4
|
+
export { default as GroupChannelBannedUsersStatusEmpty } from './component/GroupChannelBannedUsersStatusEmpty';
|
|
5
|
+
export { default as createGroupChannelBannedUsersModule } from './module/createGroupChannelBannedUsersModule';
|
|
6
|
+
export { GroupChannelBannedUsersContextsProvider, GroupChannelBannedUsersContexts } from './module/moduleContext';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","GroupChannelBannedUsersList","GroupChannelBannedUsersHeader","GroupChannelBannedUsersStatusLoading","GroupChannelBannedUsersStatusEmpty","createGroupChannelBannedUsersModule","GroupChannelBannedUsersContextsProvider","GroupChannelBannedUsersContexts"],"sources":["index.ts"],"sourcesContent":["export { default as GroupChannelBannedUsersList } from './component/GroupChannelBannedUsersList';\nexport { default as GroupChannelBannedUsersHeader } from './component/GroupChannelBannedUsersHeader';\nexport { default as GroupChannelBannedUsersStatusLoading } from './component/GroupChannelBannedUsersStatusLoading';\nexport { default as GroupChannelBannedUsersStatusEmpty } from './component/GroupChannelBannedUsersStatusEmpty';\nexport { default as createGroupChannelBannedUsersModule } from './module/createGroupChannelBannedUsersModule';\nexport { GroupChannelBannedUsersContextsProvider, GroupChannelBannedUsersContexts } from './module/moduleContext';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,2BAApB,QAAuD,yCAAvD;AACA,SAASD,OAAO,IAAIE,6BAApB,QAAyD,2CAAzD;AACA,SAASF,OAAO,IAAIG,oCAApB,QAAgE,kDAAhE;AACA,SAASH,OAAO,IAAII,kCAApB,QAA8D,gDAA9D;AACA,SAASJ,OAAO,IAAIK,mCAApB,QAA+D,8CAA/D;AACA,SAASC,uCAAT,EAAkDC,+BAAlD,QAAyF,wBAAzF"}
|
package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import GroupChannelBannedUsersHeader from '../component/GroupChannelBannedUsersHeader';
|
|
2
|
+
import GroupChannelBannedUsersList from '../component/GroupChannelBannedUsersList';
|
|
3
|
+
import GroupChannelBannedUsersStatusEmpty from '../component/GroupChannelBannedUsersStatusEmpty';
|
|
4
|
+
import GroupChannelBannedUsersStatusError from '../component/GroupChannelBannedUsersStatusError';
|
|
5
|
+
import GroupChannelBannedUsersStatusLoading from '../component/GroupChannelBannedUsersStatusLoading';
|
|
6
|
+
import { GroupChannelBannedUsersContextsProvider } from './moduleContext';
|
|
7
|
+
|
|
8
|
+
const createGroupChannelBannedUsersModule = function () {
|
|
9
|
+
let {
|
|
10
|
+
Header = GroupChannelBannedUsersHeader,
|
|
11
|
+
List = GroupChannelBannedUsersList,
|
|
12
|
+
StatusLoading = GroupChannelBannedUsersStatusLoading,
|
|
13
|
+
StatusEmpty = GroupChannelBannedUsersStatusEmpty,
|
|
14
|
+
StatusError = GroupChannelBannedUsersStatusError,
|
|
15
|
+
Provider = GroupChannelBannedUsersContextsProvider,
|
|
16
|
+
...module
|
|
17
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
18
|
+
return {
|
|
19
|
+
Header,
|
|
20
|
+
List,
|
|
21
|
+
Provider,
|
|
22
|
+
StatusEmpty,
|
|
23
|
+
StatusLoading,
|
|
24
|
+
StatusError,
|
|
25
|
+
...module
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default createGroupChannelBannedUsersModule;
|
|
30
|
+
//# sourceMappingURL=createGroupChannelBannedUsersModule.js.map
|
package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GroupChannelBannedUsersHeader","GroupChannelBannedUsersList","GroupChannelBannedUsersStatusEmpty","GroupChannelBannedUsersStatusError","GroupChannelBannedUsersStatusLoading","GroupChannelBannedUsersContextsProvider","createGroupChannelBannedUsersModule","Header","List","StatusLoading","StatusEmpty","StatusError","Provider","module"],"sources":["createGroupChannelBannedUsersModule.tsx"],"sourcesContent":["import GroupChannelBannedUsersHeader from '../component/GroupChannelBannedUsersHeader';\nimport GroupChannelBannedUsersList from '../component/GroupChannelBannedUsersList';\nimport GroupChannelBannedUsersStatusEmpty from '../component/GroupChannelBannedUsersStatusEmpty';\nimport GroupChannelBannedUsersStatusError from '../component/GroupChannelBannedUsersStatusError';\nimport GroupChannelBannedUsersStatusLoading from '../component/GroupChannelBannedUsersStatusLoading';\nimport type { GroupChannelBannedUsersModule } from '../types';\nimport { GroupChannelBannedUsersContextsProvider } from './moduleContext';\n\nconst createGroupChannelBannedUsersModule = ({\n Header = GroupChannelBannedUsersHeader,\n List = GroupChannelBannedUsersList,\n StatusLoading = GroupChannelBannedUsersStatusLoading,\n StatusEmpty = GroupChannelBannedUsersStatusEmpty,\n StatusError = GroupChannelBannedUsersStatusError,\n Provider = GroupChannelBannedUsersContextsProvider,\n ...module\n}: Partial<GroupChannelBannedUsersModule> = {}): GroupChannelBannedUsersModule => {\n return { Header, List, Provider, StatusEmpty, StatusLoading, StatusError, ...module };\n};\n\nexport default createGroupChannelBannedUsersModule;\n"],"mappings":"AAAA,OAAOA,6BAAP,MAA0C,4CAA1C;AACA,OAAOC,2BAAP,MAAwC,0CAAxC;AACA,OAAOC,kCAAP,MAA+C,iDAA/C;AACA,OAAOC,kCAAP,MAA+C,iDAA/C;AACA,OAAOC,oCAAP,MAAiD,mDAAjD;AAEA,SAASC,uCAAT,QAAwD,iBAAxD;;AAEA,MAAMC,mCAAmC,GAAG,YAQsC;EAAA,IARrC;IAC3CC,MAAM,GAAGP,6BADkC;IAE3CQ,IAAI,GAAGP,2BAFoC;IAG3CQ,aAAa,GAAGL,oCAH2B;IAI3CM,WAAW,GAAGR,kCAJ6B;IAK3CS,WAAW,GAAGR,kCAL6B;IAM3CS,QAAQ,GAAGP,uCANgC;IAO3C,GAAGQ;EAPwC,CAQqC,uEAAtC,EAAsC;EAChF,OAAO;IAAEN,MAAF;IAAUC,IAAV;IAAgBI,QAAhB;IAA0BF,WAA1B;IAAuCD,aAAvC;IAAsDE,WAAtD;IAAmE,GAAGE;EAAtE,CAAP;AACD,CAVD;;AAYA,eAAeP,mCAAf"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { createContext } from 'react';
|
|
2
|
+
import ProviderLayout from '../../../components/ProviderLayout';
|
|
3
|
+
import { useLocalization } from '../../../hooks/useContext';
|
|
4
|
+
export const GroupChannelBannedUsersContexts = {
|
|
5
|
+
Fragment: /*#__PURE__*/createContext({
|
|
6
|
+
headerTitle: '',
|
|
7
|
+
channel: {}
|
|
8
|
+
})
|
|
9
|
+
};
|
|
10
|
+
export const GroupChannelBannedUsersContextsProvider = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
channel,
|
|
13
|
+
children
|
|
14
|
+
} = _ref;
|
|
15
|
+
const {
|
|
16
|
+
STRINGS
|
|
17
|
+
} = useLocalization();
|
|
18
|
+
return /*#__PURE__*/React.createElement(ProviderLayout, null, /*#__PURE__*/React.createElement(GroupChannelBannedUsersContexts.Fragment.Provider, {
|
|
19
|
+
value: {
|
|
20
|
+
headerTitle: STRINGS.GROUP_CHANNEL_BANNED_USERS.HEADER_TITLE,
|
|
21
|
+
channel
|
|
22
|
+
}
|
|
23
|
+
}, children));
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=moduleContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","ProviderLayout","useLocalization","GroupChannelBannedUsersContexts","Fragment","headerTitle","channel","GroupChannelBannedUsersContextsProvider","children","STRINGS","GROUP_CHANNEL_BANNED_USERS","HEADER_TITLE"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext } from 'react';\n\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { GroupChannelBannedUsersContextsType, GroupChannelBannedUsersModule } from '../types';\n\nexport const GroupChannelBannedUsersContexts: GroupChannelBannedUsersContextsType = {\n Fragment: createContext({\n headerTitle: '',\n channel: {} as SendbirdGroupChannel,\n }),\n};\n\nexport const GroupChannelBannedUsersContextsProvider: GroupChannelBannedUsersModule['Provider'] = ({\n channel,\n children,\n}) => {\n const { STRINGS } = useLocalization();\n return (\n <ProviderLayout>\n <GroupChannelBannedUsersContexts.Fragment.Provider\n value={{ headerTitle: STRINGS.GROUP_CHANNEL_BANNED_USERS.HEADER_TITLE, channel }}\n >\n {children}\n </GroupChannelBannedUsersContexts.Fragment.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,aAAhB,QAAqC,OAArC;AAIA,OAAOC,cAAP,MAA2B,oCAA3B;AACA,SAASC,eAAT,QAAgC,2BAAhC;AAGA,OAAO,MAAMC,+BAAoE,GAAG;EAClFC,QAAQ,eAAEJ,aAAa,CAAC;IACtBK,WAAW,EAAE,EADS;IAEtBC,OAAO,EAAE;EAFa,CAAD;AAD2D,CAA7E;AAOP,OAAO,MAAMC,uCAAkF,GAAG,QAG5F;EAAA,IAH6F;IACjGD,OADiG;IAEjGE;EAFiG,CAG7F;EACJ,MAAM;IAAEC;EAAF,IAAcP,eAAe,EAAnC;EACA,oBACE,oBAAC,cAAD,qBACE,oBAAC,+BAAD,CAAiC,QAAjC,CAA0C,QAA1C;IACE,KAAK,EAAE;MAAEG,WAAW,EAAEI,OAAO,CAACC,0BAAR,CAAmCC,YAAlD;MAAgEL;IAAhE;EADT,GAGGE,QAHH,CADF,CADF;AASD,CAdM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { SendbirdGroupChannel, SendbirdRestrictedUser } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport type GroupChannelBannedUsersProps = {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: GroupChannelBannedUsersProps['Header']['onPressHeaderLeft'];\n renderUser?: GroupChannelBannedUsersProps['List']['renderUser'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n };\n List: {\n renderUser: (props: { user: SendbirdRestrictedUser }) => React.ReactElement | null;\n bannedUsers: SendbirdRestrictedUser[];\n ListEmptyComponent?: React.ReactElement;\n onLoadNext: () => Promise<void>;\n };\n StatusError: {\n onPressRetry: () => void;\n };\n Provider: {\n channel: SendbirdGroupChannel;\n };\n};\n\n/**\n * Internal context for GroupChannelBannedUsers\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport type GroupChannelBannedUsersContextsType = {\n Fragment: React.Context<{\n headerTitle: string;\n channel: SendbirdGroupChannel;\n }>;\n};\nexport interface GroupChannelBannedUsersModule {\n Provider: CommonComponent<GroupChannelBannedUsersProps['Provider']>;\n Header: CommonComponent<GroupChannelBannedUsersProps['Header']>;\n List: CommonComponent<GroupChannelBannedUsersProps['List']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n StatusError: CommonComponent<GroupChannelBannedUsersProps['StatusError']>;\n}\n\nexport type GroupChannelBannedUsersFragment = CommonComponent<GroupChannelBannedUsersProps['Fragment']>;\n"],"mappings":""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useContext, useEffect } from 'react';
|
|
2
|
-
import { TouchableOpacity, View } from 'react-native';
|
|
3
|
-
import {
|
|
4
|
-
import { useLocalization } from '../../../hooks/useContext';
|
|
2
|
+
import { Platform, TouchableOpacity, View } from 'react-native';
|
|
3
|
+
import { Icon, Modal, Text, createStyleSheet, useHeaderStyle, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
+
import { useLocalization, useSendbirdChat } from '../../../hooks/useContext';
|
|
5
5
|
import { GroupChannelListContexts } from '../module/moduleContext';
|
|
6
6
|
const TYPES = ['GROUP', 'SUPER_GROUP', 'BROADCAST'];
|
|
7
7
|
const TYPE_ICONS = {
|
|
@@ -9,19 +9,26 @@ const TYPE_ICONS = {
|
|
|
9
9
|
'SUPER_GROUP': 'supergroup',
|
|
10
10
|
'BROADCAST': 'broadcast'
|
|
11
11
|
};
|
|
12
|
+
const STATUS_BAR_TOP_INSET_AS = Platform.select({
|
|
13
|
+
android: 'margin',
|
|
14
|
+
default: 'padding'
|
|
15
|
+
});
|
|
12
16
|
|
|
13
17
|
const GroupChannelListTypeSelector = _ref => {
|
|
14
18
|
let {
|
|
15
|
-
Header = DefaultHeader,
|
|
16
19
|
skipTypeSelection,
|
|
17
20
|
onSelectType
|
|
18
21
|
} = _ref;
|
|
19
22
|
const {
|
|
20
|
-
statusBarTranslucent
|
|
23
|
+
statusBarTranslucent,
|
|
24
|
+
HeaderComponent
|
|
21
25
|
} = useHeaderStyle();
|
|
22
26
|
const {
|
|
23
27
|
colors
|
|
24
28
|
} = useUIKitTheme();
|
|
29
|
+
const {
|
|
30
|
+
features
|
|
31
|
+
} = useSendbirdChat();
|
|
25
32
|
const typeSelector = useContext(GroupChannelListContexts.TypeSelector);
|
|
26
33
|
const {
|
|
27
34
|
visible,
|
|
@@ -37,10 +44,29 @@ const GroupChannelListTypeSelector = _ref => {
|
|
|
37
44
|
if (skipTypeSelection && visible) createOnPressType('GROUP')();
|
|
38
45
|
}, [skipTypeSelection, visible]);
|
|
39
46
|
if (skipTypeSelection) return null;
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
48
|
+
visible: visible,
|
|
49
|
+
onClose: hide,
|
|
50
|
+
statusBarTranslucent: statusBarTranslucent
|
|
51
|
+
}, /*#__PURE__*/React.createElement(HeaderComponent, {
|
|
52
|
+
title: typeSelector.headerTitle,
|
|
53
|
+
right: /*#__PURE__*/React.createElement(Icon, {
|
|
54
|
+
icon: 'close',
|
|
55
|
+
color: colors.onBackground01
|
|
56
|
+
}),
|
|
57
|
+
onPressRight: typeSelector.hide,
|
|
58
|
+
statusBarTopInsetAs: STATUS_BAR_TOP_INSET_AS
|
|
59
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
42
60
|
style: styles.buttonArea
|
|
43
61
|
}, TYPES.map(type => {
|
|
62
|
+
if (type === 'SUPER_GROUP' && !features.superGroupChannelEnabled) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (type === 'BROADCAST' && !features.broadcastChannelEnabled) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
|
|
44
70
|
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
45
71
|
key: type,
|
|
46
72
|
activeOpacity: 0.6,
|
|
@@ -51,32 +77,7 @@ const GroupChannelListTypeSelector = _ref => {
|
|
|
51
77
|
}), /*#__PURE__*/React.createElement(DefaultTypeText, {
|
|
52
78
|
type: type
|
|
53
79
|
}));
|
|
54
|
-
}));
|
|
55
|
-
|
|
56
|
-
const renderHeader = () => {
|
|
57
|
-
if (Header) {
|
|
58
|
-
return /*#__PURE__*/React.createElement(Header, {
|
|
59
|
-
title: typeSelector.headerTitle,
|
|
60
|
-
right: /*#__PURE__*/React.createElement(Icon, {
|
|
61
|
-
icon: 'close',
|
|
62
|
-
color: colors.onBackground01
|
|
63
|
-
}),
|
|
64
|
-
onPressRight: typeSelector.hide
|
|
65
|
-
}, renderButtons());
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return /*#__PURE__*/React.createElement(DefaultHeader, {
|
|
69
|
-
title: null,
|
|
70
|
-
right: null,
|
|
71
|
-
left: null
|
|
72
|
-
}, renderButtons());
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
return /*#__PURE__*/React.createElement(Modal, {
|
|
76
|
-
visible: visible,
|
|
77
|
-
onClose: hide,
|
|
78
|
-
statusBarTranslucent: statusBarTranslucent
|
|
79
|
-
}, renderHeader());
|
|
80
|
+
}))));
|
|
80
81
|
};
|
|
81
82
|
|
|
82
83
|
const DefaultTypeIcon = _ref2 => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useContext","useEffect","
|
|
1
|
+
{"version":3,"names":["React","useContext","useEffect","Platform","TouchableOpacity","View","Icon","Modal","Text","createStyleSheet","useHeaderStyle","useUIKitTheme","useLocalization","useSendbirdChat","GroupChannelListContexts","TYPES","TYPE_ICONS","STATUS_BAR_TOP_INSET_AS","select","android","default","GroupChannelListTypeSelector","skipTypeSelection","onSelectType","statusBarTranslucent","HeaderComponent","colors","features","typeSelector","TypeSelector","visible","hide","createOnPressType","type","headerTitle","onBackground01","styles","buttonArea","map","superGroupChannelEnabled","broadcastChannelEnabled","typeButton","DefaultTypeIcon","icon","DefaultTypeText","STRINGS","GROUP_CHANNEL_LIST","flexDirection","paddingVertical","flex","alignItems","justifyContent","marginBottom"],"sources":["GroupChannelListTypeSelector.tsx"],"sourcesContent":["import React, { useContext, useEffect } from 'react';\nimport { Platform, TouchableOpacity, View } from 'react-native';\n\nimport {\n Icon,\n Modal,\n Text,\n createStyleSheet,\n useHeaderStyle,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelListContexts } from '../module/moduleContext';\nimport type { GroupChannelListProps, GroupChannelType } from '../types';\n\nconst TYPES: GroupChannelType[] = ['GROUP', 'SUPER_GROUP', 'BROADCAST'];\nconst TYPE_ICONS: Record<GroupChannelType, keyof typeof Icon.Assets> = {\n 'GROUP': 'chat',\n 'SUPER_GROUP': 'supergroup',\n 'BROADCAST': 'broadcast',\n};\nconst STATUS_BAR_TOP_INSET_AS: 'margin' | 'padding' = Platform.select({ android: 'margin', default: 'padding' });\n\nconst GroupChannelListTypeSelector = ({ skipTypeSelection, onSelectType }: GroupChannelListProps['TypeSelector']) => {\n const { statusBarTranslucent, HeaderComponent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const { features } = useSendbirdChat();\n const typeSelector = useContext(GroupChannelListContexts.TypeSelector);\n const { visible, hide } = typeSelector;\n\n const createOnPressType = (type: GroupChannelType) => () => {\n hide();\n onSelectType(type);\n };\n\n useEffect(() => {\n if (skipTypeSelection && visible) createOnPressType('GROUP')();\n }, [skipTypeSelection, visible]);\n\n if (skipTypeSelection) return null;\n\n return (\n <Modal visible={visible} onClose={hide} statusBarTranslucent={statusBarTranslucent}>\n <HeaderComponent\n title={typeSelector.headerTitle}\n right={<Icon icon={'close'} color={colors.onBackground01} />}\n onPressRight={typeSelector.hide}\n statusBarTopInsetAs={STATUS_BAR_TOP_INSET_AS}\n >\n <View style={styles.buttonArea}>\n {TYPES.map((type) => {\n if (type === 'SUPER_GROUP' && !features.superGroupChannelEnabled) {\n return null;\n }\n\n if (type === 'BROADCAST' && !features.broadcastChannelEnabled) {\n return null;\n }\n\n return (\n <TouchableOpacity\n key={type}\n activeOpacity={0.6}\n onPress={createOnPressType(type)}\n style={styles.typeButton}\n >\n <DefaultTypeIcon type={type} />\n <DefaultTypeText type={type} />\n </TouchableOpacity>\n );\n })}\n </View>\n </HeaderComponent>\n </Modal>\n );\n};\n\nconst DefaultTypeIcon = ({ type }: { type: GroupChannelType }) => {\n return <Icon size={24} icon={TYPE_ICONS[type]} containerStyle={styles.icon} />;\n};\n\nconst DefaultTypeText = ({ type }: { type: GroupChannelType }) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n return (\n <Text caption2 color={colors.onBackground01}>\n {STRINGS.GROUP_CHANNEL_LIST[`TYPE_SELECTOR_${type}`]}\n </Text>\n );\n};\n\nconst styles = createStyleSheet({\n buttonArea: {\n flexDirection: 'row',\n },\n typeButton: {\n paddingVertical: 24,\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n marginBottom: 8,\n },\n});\n\nexport default GroupChannelListTypeSelector;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseGroupChannelListOptions } from '@sendbird/uikit-chat-hooks';\nimport type { ActionMenuItem
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseGroupChannelListOptions } from '@sendbird/uikit-chat-hooks';\nimport type { ActionMenuItem } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelListProps {\n /** Props for `GroupChannelListFragment` **/\n Fragment: {\n /** Navigate to GroupChannelFragment **/\n onPressChannel: (channel: SendbirdGroupChannel) => void;\n /** Navigate to GroupChannelCreateFragment **/\n onPressCreateChannel: (channelType: GroupChannelType) => void;\n /** Method to render GroupChannel preview **/\n renderGroupChannelPreview?: (\n channel: SendbirdGroupChannel,\n onLongPressChannel: () => void,\n ) => React.ReactElement | null;\n /** Skip type selection, When this is set to true 'channelType' only receive 'GROUP' type **/\n skipTypeSelection?: boolean;\n /** Custom Query creator for channels query **/\n queryCreator?: UseGroupChannelListOptions['queryCreator'];\n /** Custom Collection creator for group channel collection **/\n collectionCreator?: UseGroupChannelListOptions['collectionCreator'];\n /** FlatList props for GroupChannelList.List **/\n flatListProps?: GroupChannelListProps['List']['flatListProps'];\n /** Action menu item creator for onLongPress **/\n menuItemCreator?: GroupChannelListProps['List']['menuItemCreator'];\n };\n /** Props for `GroupChannelListModule.Header` **/\n Header: {};\n /** Props for `GroupChannelListModule.List` **/\n List: {\n /** GroupChannels from SendbirdChat SDK **/\n groupChannels: SendbirdGroupChannel[];\n /** Method to render GroupChannel preview **/\n renderGroupChannelPreview: (\n // FIXME/BREAKING: Changed to props object\n channel: SendbirdGroupChannel,\n onLongPressChannel: () => void,\n ) => React.ReactElement | null;\n /** Method to load more data, called with onEndReached of FlatList **/\n onLoadNext: () => Promise<void>;\n /** Prop from Fragment **/\n flatListProps?: Omit<FlatListProps<SendbirdGroupChannel>, 'data' | 'renderItem'>;\n /** Prop from Fragment **/\n menuItemCreator?: (defaultMenuItem: ActionMenuItem) => ActionMenuItem;\n };\n /** Props for `GroupChannelListModule.TypeSelector` **/\n TypeSelector: {\n /** Prop from Fragment `Fragment.skipTypeSelection` **/\n skipTypeSelection: boolean;\n /** Method called when type is selected, call `Fragment.onPressCreateChannel` **/\n onSelectType: (type: GroupChannelType) => void;\n };\n}\n\n/**\n * Internal context for GroupChannelList\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelListContextsType {\n Fragment: React.Context<{\n headerTitle: string;\n }>;\n TypeSelector: React.Context<{\n visible: boolean;\n show: () => void;\n hide: () => void;\n headerTitle: string;\n }>;\n}\nexport interface GroupChannelListModule {\n Provider: CommonComponent;\n Header: CommonComponent<GroupChannelListProps['Header']>;\n List: CommonComponent<GroupChannelListProps['List']>;\n TypeSelector: CommonComponent<GroupChannelListProps['TypeSelector']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n}\n\nexport type GroupChannelListFragment = CommonComponent<GroupChannelListProps['Fragment']>;\nexport type GroupChannelType = 'GROUP' | 'SUPER_GROUP' | 'BROADCAST';\n"],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { Icon, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';
|
|
3
|
+
import { GroupChannelModerationContexts } from '../module/moduleContext';
|
|
4
|
+
|
|
5
|
+
const GroupChannelModerationHeader = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
onPressHeaderLeft
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
headerTitle
|
|
11
|
+
} = useContext(GroupChannelModerationContexts.Fragment);
|
|
12
|
+
const {
|
|
13
|
+
HeaderComponent
|
|
14
|
+
} = useHeaderStyle();
|
|
15
|
+
return /*#__PURE__*/React.createElement(HeaderComponent, {
|
|
16
|
+
title: headerTitle,
|
|
17
|
+
left: /*#__PURE__*/React.createElement(Icon, {
|
|
18
|
+
icon: 'arrow-left'
|
|
19
|
+
}),
|
|
20
|
+
onPressLeft: onPressHeaderLeft
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export default GroupChannelModerationHeader;
|
|
25
|
+
//# sourceMappingURL=GroupChannelModerationHeader.js.map
|
package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","Icon","useHeaderStyle","GroupChannelModerationContexts","GroupChannelModerationHeader","onPressHeaderLeft","headerTitle","Fragment","HeaderComponent"],"sources":["GroupChannelModerationHeader.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { Icon, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';\n\nimport { GroupChannelModerationContexts } from '../module/moduleContext';\nimport type { GroupChannelModerationProps } from '../types';\n\nconst GroupChannelModerationHeader = ({ onPressHeaderLeft }: GroupChannelModerationProps['Header']) => {\n const { headerTitle } = useContext(GroupChannelModerationContexts.Fragment);\n const { HeaderComponent } = useHeaderStyle();\n return <HeaderComponent title={headerTitle} left={<Icon icon={'arrow-left'} />} onPressLeft={onPressHeaderLeft} />;\n};\n\nexport default GroupChannelModerationHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AAEA,SAASC,IAAT,EAAeC,cAAf,QAAqC,yCAArC;AAEA,SAASC,8BAAT,QAA+C,yBAA/C;;AAGA,MAAMC,4BAA4B,GAAG,QAAkE;EAAA,IAAjE;IAAEC;EAAF,CAAiE;EACrG,MAAM;IAAEC;EAAF,IAAkBN,UAAU,CAACG,8BAA8B,CAACI,QAAhC,CAAlC;EACA,MAAM;IAAEC;EAAF,IAAsBN,cAAc,EAA1C;EACA,oBAAO,oBAAC,eAAD;IAAiB,KAAK,EAAEI,WAAxB;IAAqC,IAAI,eAAE,oBAAC,IAAD;MAAM,IAAI,EAAE;IAAZ,EAA3C;IAAyE,WAAW,EAAED;EAAtF,EAAP;AACD,CAJD;;AAMA,eAAeD,4BAAf"}
|