react-native-chating-ui-kit
Version:
CometChat React Native UI Kit is a collection of custom UI Components designed to build text , chat and calling features in your application. The UI Kit is developed to keep developers in mind and aims to reduce development efforts significantly
138 lines (137 loc) • 3.77 kB
TypeScript
import React from "react";
import { CometChat } from "@cometchat-pro/react-native-chat";
import { GroupsStyleInterface } from "./GroupsStyle";
import { ListItemStyleInterface } from "../shared";
import { ImageType } from "../shared";
import { SelectionMode } from "../shared/base/Types";
import { CometChatOptions } from "../shared/modals/CometChatOptions";
import { AvatarStyleInterface } from "../shared/views/CometChatAvatar/AvatarStyle";
import { StatusIndicatorStyleInterface } from "../shared/views/CometChatStatusIndicator/StatusIndicatorStyle";
export interface CometChatGroupsInterface {
/**
* Custom subtitle view
*/
SubtitleView?: (item: CometChat.Group) => JSX.Element;
/**
* Custom list item view
*/
ListItemView?: (item: CometChat.Group) => JSX.Element;
/**
* pass compoent for menu, will be shown at top right side
*/
AppBarOption?: () => JSX.Element;
/**
* Pass array of CometChatOptions type
* Tobe shown on swipe of list item
*/
options?: (item: CometChat.Group) => CometChatOptions[];
/**
* toggle the seperator
*/
hideSeperator?: boolean;
/**
* styles for groups
*/
groupsStyle?: GroupsStyleInterface;
/**
* styles for list item
*/
listItemStyle?: ListItemStyleInterface;
/**
* styles for avatar
*/
avatarStyle?: AvatarStyleInterface;
/**
* styles for status indicator
*/
statusIndicatorStyle?: StatusIndicatorStyleInterface;
/**
* search placeholder text
*/
searchPlaceHolderText?: string;
/**
* back button icon
*/
backButtonIcon?: ImageType;
/**
* toggle back button
*/
showBackButton?: boolean;
/**
* select items pass "none" | "single" | "multitple"
*/
selectionMode?: SelectionMode;
/**
* call back on seleciton is done
*/
onSelection?: (items: Array<CometChat.Group>) => void;
/**
* icon for search box
*/
searchBoxIcon?: ImageType;
/**
* toggle seearch box
*/
hideSearch?: boolean;
/**
* title to be shown default "Groups"
*/
title?: string;
/**
* Custom Functional component for empty state
*/
EmptyStateView?: () => JSX.Element;
/**
* text to be shown in case no groups found.
*/
emptyStateText?: string;
/**
* Custom functional component for error state.
*/
ErrorStateView?: () => JSX.Element;
/**
* text to be shown in case error occured while fetching gounps for first time
*/
errorStateText?: string;
/**
* Custom image for loading state.
*/
LoadingStateView?: () => JSX.Element;
/**
* Request builder to fetch groups.
*/
groupRequestBuilder?: CometChat.GroupsRequestBuilder;
/**
* request builder for search
*/
searchRequestBuilder?: CometChat.GroupsRequestBuilder;
/**
* pass icon for private group
*/
privateGroupIcon?: ImageType;
/**
* pass icon for password group
*/
passwordGroupIcon?: ImageType;
/**
* toogle error visibility
*/
hideError?: boolean;
/**
* function tobe called on group pressed.
*/
onItemPress?: (item: CometChat.Group) => void;
/**
* function tobe called on group long pressed.
*/
onItemLongPress?: (item: CometChat.Group) => void;
/**
* function will be called when error occured.
*/
onError?: (e: CometChat.CometChatException) => void;
/**
* function will be called when back button pressed.
*/
onBack?: () => void;
}
export declare const CometChatGroups: React.ForwardRefExoticComponent<CometChatGroupsInterface & React.RefAttributes<unknown>>;