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
85 lines (84 loc) • 3.22 kB
TypeScript
import React from 'react';
import { StyleProp, ViewStyle, ListRenderItem } from 'react-native';
import { CometChatOptions } from '../../modals';
import { ImageType } from '../../base';
import { BorderStyleInterface, FontStyleInterface } from '../../base';
import { ListItemStyleInterface } from '../CometChatListItem/ListItemStyle';
import { AvatarStyleInterface } from '../CometChatAvatar/AvatarStyle';
export interface CometChatListActionsInterface {
updateList: (prop: any) => void;
addItemToList: (item: any, position?: number) => void;
removeItemFromList: (itemId: string | number) => void;
getListItem: (itemId: string | number) => void;
}
export interface CometChatListStylesInterface {
width?: number | string;
height?: number | string;
background?: string;
border?: BorderStyleInterface;
borderRadius?: number;
titleFont?: FontStyleInterface;
titleColor?: string;
backIconTint?: string;
searchBorder?: BorderStyleInterface;
searchBorderRadius?: number;
searchBackground?: string;
searchTextFont?: FontStyleInterface;
searchTextColor?: string;
searchIconTint?: string;
onlineStatusColor?: string;
separatorColor?: string;
loadingIconTint?: string;
emptyTextColor?: string;
emptyTextFont?: FontStyleInterface;
errorTextColor?: string;
errorTextFont?: FontStyleInterface;
sectionHeaderTextFont?: FontStyleInterface;
sectionHeaderTextColor?: string;
}
export interface CometChatListProps {
SubtitleView?: (item: object) => JSX.Element;
TailView?: (item: object) => JSX.Element;
disableUsersPresence?: boolean;
ListItemView?: ListRenderItem<any>;
AppBarOptions?: React.FC;
options?: (item: object) => Array<CometChatOptions>;
hideSeparator?: boolean;
searchPlaceholderText?: string;
backButtonIcon?: ImageType;
showBackButton?: boolean;
selectionMode?: 'none' | 'single' | 'multiple';
onSelection?: (list: any) => void;
searchBoxIcon?: ImageType;
hideSearch?: boolean;
title?: string;
EmptyStateView?: React.FC;
emptyStateText?: string;
errorStateText?: string;
ErrorStateView?: React.FC;
LoadingStateView?: React.FC;
requestBuilder?: any;
searchRequestBuilder?: any;
hideError?: boolean;
onItemPress?: (user: any) => void;
onItemLongPress?: (user: any) => void;
onError?: (error: any) => void;
onBack?: Function;
selectionIcon?: ImageType;
listItemKey: 'uid' | 'guid' | 'conversationId';
statusIndicatorStyle?: StyleProp<ViewStyle>;
avatarStyle?: AvatarStyleInterface;
listItemStyle?: ListItemStyleInterface;
headViewContainerStyle?: StyleProp<ViewStyle>;
bodyViewContainerStyle?: StyleProp<ViewStyle>;
tailViewContainerStyle?: StyleProp<ViewStyle>;
listStyle?: CometChatListStylesInterface;
}
/**
* @class Users is a component useful for displaying the header and users in a list
* @description This component displays a header and list of users with subtitle,avatar,status
* @Version 1.0.0
* @author CometChat
*
*/
export declare const CometChatList: React.ForwardRefExoticComponent<CometChatListProps & React.RefAttributes<CometChatListActionsInterface>>;