{
"component": "CometChatGroupMembers",
"package": "@cometchat/chat-uikit-react-native",
"import": "import { CometChatGroupMembers } from \"@cometchat/chat-uikit-react-native\";",
"description": "Scrollable, searchable list of members in a specific group with roles, scopes, online status, and member management actions.",
"primaryOutput": {
"prop": "onItemPress",
"type": "(groupMember: CometChat.GroupMember) => void"
},
"props": {
"data": {
"group": {
"type": "CometChat.Group",
"required": true,
"note": "The group whose members are displayed"
},
"groupMemberRequestBuilder": {
"type": "CometChat.GroupMembersRequestBuilder",
"default": "SDK default (30 per page)",
"note": "Pass the builder, not the result of .build()"
},
"searchRequestBuilder": {
"type": "CometChat.GroupMembersRequestBuilder",
"default": "undefined"
},
"searchKeyword": {
"type": "string",
"default": "\"\""
}
},
"callbacks": {
"onItemPress": "(groupMember: CometChat.GroupMember) => void",
"onItemLongPress": "(groupMember: CometChat.GroupMember) => void",
"onBack": "() => void",
"onSelection": "(list: CometChat.GroupMember[]) => void",
"onSubmit": "(list: Array<CometChat.Conversation>) => void",
"onError": "() => void",
"onEmpty": "() => void",
"onLoad": "(list: CometChat.GroupMember[]) => void"
},
"visibility": {
"hideHeader": { "type": "boolean", "default": false },
"showBackButton": { "type": "boolean", "default": false },
"hideSearch": { "type": "boolean", "default": false },
"hideError": { "type": "boolean", "default": false },
"hideLoadingState": { "type": "boolean", "default": false },
"usersStatusVisibility": { "type": "boolean", "default": true },
"hideKickMemberOption": { "type": "boolean", "default": false },
"hideBanMemberOption": { "type": "boolean", "default": false },
"hideScopeChangeOption": { "type": "boolean", "default": false },
"excludeOwner": { "type": "boolean", "default": false },
"hideSubmitButton": { "type": "boolean", "default": false }
},
"selection": {
"selectionMode": {
"type": "SelectionMode",
"values": ["single", "multiple", "none"],
"default": "none"
}
},
"viewSlots": {
"ItemView": "(groupMember: CometChat.GroupMember) => JSX.Element",
"LeadingView": "(groupMember: CometChat.GroupMember) => JSX.Element",
"TitleView": "(groupMember: CometChat.GroupMember) => JSX.Element",
"SubtitleView": "(groupMember: CometChat.GroupMember) => JSX.Element",
"TrailingView": "(groupMember: CometChat.GroupMember) => JSX.Element",
"LoadingView": "() => JSX.Element",
"EmptyView": "() => JSX.Element",
"ErrorView": "() => JSX.Element",
"AppBarOptions": "() => JSX.Element"
}
},
"events": [
{
"name": "ccGroupMemberKicked",
"payload": "IGroupMemberKickedBanned",
"description": "Triggered when a group member is kicked"
},
{
"name": "ccGroupMemberBanned",
"payload": "IGroupMemberKickedBanned",
"description": "Triggered when a group member is banned"
},
{
"name": "ccGroupMemberScopeChanged",
"payload": "IGroupMemberScopeChanged",
"description": "Triggered when a group member's scope is changed"
}
],
"sdkListeners": [
"onGroupMemberScopeChanged",
"onGroupMemberKicked",
"onGroupMemberBanned",
"onMemberAddedToGroup",
"onGroupMemberLeft",
"onGroupMemberJoined"
],
"compositionExample": {
"description": "Group members panel wired to group chat view",
"components": [
"CometChatGroupMembers",
"CometChatMessageHeader",
"CometChatMessageList",
"CometChatMessageComposer"
],
"flow": "Fetch group -> pass to GroupMembers, MessageHeader, MessageList, MessageComposer"
},
"types": {
"SelectionMode": {
"single": "Select one member at a time",
"multiple": "Select multiple members",
"none": "No selection mode"
}
}
}