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
282 lines (281 loc) • 7.61 kB
TypeScript
import React from 'react';
import { ImageType } from '../shared';
import { CometChat } from '@cometchat-pro/react-native-chat';
import { CometChatDetailsTemplate } from '../shared';
import { BorderStyleInterface, FontStyleInterface } from '../shared/base';
import { AvatarStyleInterface } from '../shared';
import { StatusIndicatorStyleInterface } from '../shared/views/CometChatStatusIndicator/StatusIndicatorStyle';
import { ListItemStyleInterface } from '../shared';
import { AddMembersConfigurationInterface } from '../CometChatAddMembers/AddMembersConfiguration';
import { BannedMembersConfigurationInterface } from '../CometChatBannedMembers/BannedMembersConfiguration';
import { GroupMemberConfigurationInterface } from '../CometChatGroupMembers/GroupMemberConfiguration';
import { CometChatTransferOwnershipInterface } from '../CometChatTransferOwnership/CometChatTransferOwnership';
export interface ModalDetailsInterface {
title: string;
confirmButtonText: string;
cancelButtonText: string;
messageText: string;
onConfirm: Function;
onCancel: Function;
style: ModalDetailsStyleInterface;
}
export interface ModalDetailsStyleInterface {
confirmButtonTextFont?: FontStyleInterface;
confirmButtonTextColor?: string;
cancelButtonTextFont?: FontStyleInterface;
cancelButtonTextColor?: string;
messageTextFont?: FontStyleInterface;
messageTextColor?: string;
cancelBackground?: string;
confirmBackground?: string;
}
export interface DetailsStyleInterface {
width: string;
height: string;
backgroundColor: string;
border: BorderStyleInterface;
borderRadius: number;
titleFont: FontStyleInterface;
titleColor: string;
backIconTint: string;
closeIconTint: string;
onlineStatusColor: string;
privateGroupIconBackground: string;
protectedGroupIconBackground: string;
}
export interface CometChatDetailsInterface {
/**
*
*
* @type {CometChat.User}
* @description CometChat SDK’s user object
*/
user?: CometChat.User;
/**
*
*
* @type {CometChat.Group}
* @description CometChat SDK’s group object
*/
group?: CometChat.Group;
/**
*
*
* @type {string}
* @description Title of the component
*/
title?: string;
/**
*
*
* @type {boolean}
* @description Toggle close button
*/
showCloseButton?: boolean;
/**
*
*
* @type {ImageType}
* @description Icon for close icon
*/
closeButtonIcon?: ImageType;
/**
*
*
* @type {boolean}
* @description hide user/group profile view
*/
hideProfile?: boolean;
/**
*
*
* @description ({
user,
group,
}: {
user?: CometChat.User;
group?: CometChat.Group;
}) → @return {JSX.Element}
*/
SubtitleView?: ({ user, group, }: {
user?: CometChat.User;
group?: CometChat.Group;
}) => JSX.Element;
/**
*
*
* @description ({
user,
group,
}: {
user?: CometChat.User;
group?: CometChat.Group;
}) → @return {JSX.Element}
*/
CustomProfileView?: ({ user, group, }: {
user?: CometChat.User;
group?: CometChat.Group;
}) => JSX.Element;
/**
*
*
* @type {CometChatDetailsTemplate[]}
* @description ({
user,
group,
}: {
user?: CometChat.User;
group?: CometChat.Group;
}) → @return {CometChatDetailsTemplate[]}
*/
data?: ({ user, group, }: {
user?: CometChat.User;
group?: CometChat.Group;
}) => CometChatDetailsTemplate[];
/**
*
*
* @type {boolean}
* @description Toggle to disable user presence. When set to true, status indicator component will not render in the UI
*/
disableUsersPresence?: boolean;
/**
*
*
* @type {ImageType}
* @description icon for protected group
*/
protectedGroupIcon?: ImageType;
/**
*
*
* @type {ImageType}
* @description icon for private group
*/
privateGroupIcon?: ImageType;
/**
*
*
* @type {string}
* @description Text to be displayed on the leave button in the confirm dialog (leave group)
*/
leaveGroupButtonText?: string;
/**
*
*
* @type {string}
* @description Text to be displayed on the cancel button in the confirm dialog (leave group)
*/
leaveGroupCancelButtonText?: string;
/**
*
*
* @type {string}
* @description Text to be displayed in the confirm dialog (leave group)
*/
leaveGroupConfirmDialogMessage?: string;
/**
*
*
* @type {ModalDetailsStyleInterface}
* @description Styling properties of leave group confirm dialog
*/
leaveGroupDialogStyle?: ModalDetailsStyleInterface;
/**
*
*
* @type {string}
* @description Text to be displayed on the leave button in the confirm dialog (delete group)
*/
deleteGroupButtonText?: string;
/**
*
*
* @type {string}
* @description Text to be displayed on the cancel button in the confirm dialog (delete group)
*/
deleteGroupCancelButtonText?: string;
/**
*
*
* @type {string}
* @description Text to be displayed in the confirm dialog (delete group)
*/
deleteGroupConfirmDialogMessage?: string;
/**
*
*
* @type {ModalDetailsStyleInterface}
* @description Styling properties of delete group confirm dialog
*/
deleteGroupDialogStyle?: ModalDetailsStyleInterface;
/**
*
*
* @type {*}
* @description Configurable properties of the group members component
*/
groupMembersConfiguration?: GroupMemberConfigurationInterface;
/**
*
*
* @type {*}
* @description Configurable properties of the add members component
*/
addMembersConfiguration?: AddMembersConfigurationInterface;
/**
*
*
* @type {*}
* @description Configurable properties of the banned members component
*/
bannedMembersConfiguration?: BannedMembersConfigurationInterface;
/**
*
*
* @type {*}
* @description Configurable properties of the transfer owernership component
*/
transferOwnershipConfiguration?: CometChatTransferOwnershipInterface;
/**
*
*
* @description Callback invoked upon encountering an error in the component
*/
onError?: (error: any) => void;
/**
*
*
* @description Callback invoked upon clicking close icon / back button
*/
onBack?: () => void;
/**
*
*
* @type {AvatarStyleInterface}
* @description Styling properties of the avatar component
*/
avatarStyle?: AvatarStyleInterface;
/**
*
*
* @type {StatusIndicatorStyleInterface}
* @description Styling properties of the status indicator component
*/
statusIndicatorStyle?: StatusIndicatorStyleInterface;
/**
*
*
* @type {ListItemStyleInterface}
* @description Styling properties of the list item component
*/
listItemStyle?: ListItemStyleInterface;
/**
*
*
* @type {DetailsStyleInterface}
* @description Styling properties of the details component
*/
detailsStyle?: DetailsStyleInterface;
}
export declare const CometChatDetails: (props: CometChatDetailsInterface) => React.JSX.Element;