{
"component": "CometChatGroups",
"package": "@cometchat/chat-uikit-react",
"import": "import { CometChatGroups } from \"@cometchat/chat-uikit-react\";",
"cssImport": "import \"@cometchat/chat-uikit-react/css-variables.css\";",
"description": "Searchable, scrollable list of groups with selection support and real-time membership updates.",
"cssRootClass": ".cometchat-groups",
"primaryOutput": {
"prop": "onItemClick",
"type": "(group: CometChat.Group) => void"
},
"props": {
"data": {
"groupsRequestBuilder": {
"type": "CometChat.GroupsRequestBuilder",
"default": "SDK default (30 per page)",
"note": "Pass the builder instance, not the result of .build()"
},
"searchRequestBuilder": {
"type": "CometChat.GroupsRequestBuilder",
"default": "undefined"
},
"searchKeyword": {
"type": "string",
"default": "undefined"
},
"activeGroup": {
"type": "CometChat.Group",
"default": "undefined"
}
},
"callbacks": {
"onItemClick": "(group: CometChat.Group) => void",
"onSelect": "(group: CometChat.Group, selected: boolean) => void",
"onError": "((error: CometChat.CometChatException) => void) | null",
"onEmpty": "() => void"
},
"visibility": {
"hideGroupType": { "type": "boolean", "default": false },
"hideSearch": { "type": "boolean", "default": false },
"showScrollbar": { "type": "boolean", "default": false }
},
"selection": {
"selectionMode": {
"type": "CometChatGroupsSelectionMode",
"values": ["'none'", "'single'", "'multiple'"],
"default": "'none'"
}
},
"viewSlots": {
"itemView": "(group: CometChat.Group) => ReactNode",
"leadingView": "(group: CometChat.Group) => ReactNode",
"titleView": "(group: CometChat.Group) => ReactNode",
"subtitleView": "(group: CometChat.Group) => ReactNode",
"trailingView": "(group: CometChat.Group) => ReactNode",
"headerView": "ReactNode",
"loadingView": "ReactNode",
"emptyView": "ReactNode",
"errorView": "ReactNode",
"options": "(group: CometChat.Group) => CometChatGroupOption[]"
}
},
"events": [],
"eventsReceived": [
{
"name": "ui:group/created",
"payload": "{ group: CometChat.Group }",
"description": "Adds the new group to the list"
},
{
"name": "ui:group/deleted",
"payload": "{ group: CometChat.Group }",
"description": "Removes the group from the list"
},
{
"name": "ui:group/left",
"payload": "{ group: CometChat.Group }",
"description": "Removes (private) or updates (public) the group"
},
{
"name": "ui:group/member-joined",
"payload": "{ joinedGroup: CometChat.Group }",
"description": "Updates the group (member count)"
},
{
"name": "ui:group/member-added",
"payload": "{ group: CometChat.Group, members: CometChat.User[], messages: CometChat.BaseMessage[] }",
"description": "Updates the group"
},
{
"name": "ui:group/member-kicked",
"payload": "{ group: CometChat.Group, user: CometChat.User, message: CometChat.BaseMessage }",
"description": "Updates the group"
},
{
"name": "ui:group/member-banned",
"payload": "{ group: CometChat.Group, user: CometChat.User, message: CometChat.BaseMessage }",
"description": "Updates the group"
},
{
"name": "ui:group/member-scope-changed",
"payload": "{ group: CometChat.Group, user: CometChat.User, newScope: string }",
"description": "Updates the group"
},
{
"name": "ui:group/ownership-changed",
"payload": "{ group: CometChat.Group }",
"description": "Updates the group"
}
],
"sdkListeners": [
"onGroupMemberJoined",
"onGroupMemberLeft",
"onGroupMemberKicked",
"onGroupMemberBanned",
"onMemberAddedToGroup"
],
"types": {
"CometChatGroupOption": {
"id": "string",
"title": "string",
"iconURL": "string | undefined",
"onClick": "(group: CometChat.Group) => void"
},
"CometChatGroupsSelectionMode": "'none' | 'single' | 'multiple'"
}
}