Interface MessagesModalOptions

interface MessagesModalOptions {
    isMessagesModalVisible: boolean;
    onMessagesClose: (() => void);
    onSendMessagePress?: ((options: SendMessageOptions) => Promise<void>);
    messages: Message[];
    eventType: EventType;
    member: string;
    islevel: string;
    coHostResponsibility: CoHostResponsibility[];
    coHost: string;
    startDirectMessage: boolean;
    directMessageDetails: null | Participant;
    updateStartDirectMessage: ((start: boolean) => void);
    updateDirectMessageDetails: ((participant: null | Participant) => void);
    showAlert?: ShowAlert;
    roomName: string;
    socket: Socket<DefaultEventsMap, DefaultEventsMap>;
    chatSetting: string;
    position?: string;
    backgroundColor?: string;
    activeTabBackgroundColor?: string;
    title?: ReactNode;
    overlayProps?: HTMLAttributes<HTMLDivElement>;
    contentProps?: HTMLAttributes<HTMLDivElement>;
    headerProps?: HTMLAttributes<HTMLDivElement>;
    titleProps?: HTMLAttributes<HTMLDivElement>;
    tabListProps?: HTMLAttributes<HTMLDivElement>;
    tabButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
    closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
    closeIconComponent?: ReactNode;
    bodyProps?: HTMLAttributes<HTMLDivElement>;
    directPanelWrapperProps?: HTMLAttributes<HTMLDivElement>;
    groupPanelWrapperProps?: HTMLAttributes<HTMLDivElement>;
    emptyState?: ReactNode | ((context: {
        type: "group" | "direct";
    }) => ReactNode);
    renderHeader?: ((options: {
        defaultHeader: ReactNode;
        activeTab: "group" | "direct";
        onClose: (() => void);
    }) => ReactNode);
    renderTabs?: ((options: {
        defaultTabs: ReactNode;
        activeTab: "group" | "direct";
        switchToDirect: (() => void);
        switchToGroup: (() => void);
    }) => ReactNode);
    renderTabButton?: ((options: {
        type: "group" | "direct";
        isActive: boolean;
        defaultButton: ReactNode;
        switchTo: (() => void);
    }) => ReactNode);
    renderPanels?: ((options: {
        defaultPanels: ReactNode;
        activeTab: "group" | "direct";
    }) => ReactNode);
    renderBody?: ((options: {
        defaultBody: ReactNode;
        activeTab: "group" | "direct";
    }) => ReactNode);
    renderContent?: ((options: {
        defaultContent: ReactNode;
        activeTab: "group" | "direct";
    }) => ReactNode);
}

Properties

isMessagesModalVisible: boolean
onMessagesClose: (() => void)
onSendMessagePress?: ((options: SendMessageOptions) => Promise<void>)
messages: Message[]
eventType: EventType
member: string
islevel: string
coHostResponsibility: CoHostResponsibility[]
coHost: string
startDirectMessage: boolean
directMessageDetails: null | Participant
updateStartDirectMessage: ((start: boolean) => void)
updateDirectMessageDetails: ((participant: null | Participant) => void)
showAlert?: ShowAlert
roomName: string
socket: Socket<DefaultEventsMap, DefaultEventsMap>
chatSetting: string
position?: string
backgroundColor?: string
activeTabBackgroundColor?: string
title?: ReactNode
overlayProps?: HTMLAttributes<HTMLDivElement>
contentProps?: HTMLAttributes<HTMLDivElement>
headerProps?: HTMLAttributes<HTMLDivElement>
titleProps?: HTMLAttributes<HTMLDivElement>
tabListProps?: HTMLAttributes<HTMLDivElement>
tabButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
closeIconComponent?: ReactNode
bodyProps?: HTMLAttributes<HTMLDivElement>
directPanelWrapperProps?: HTMLAttributes<HTMLDivElement>
groupPanelWrapperProps?: HTMLAttributes<HTMLDivElement>
emptyState?: ReactNode | ((context: {
    type: "group" | "direct";
}) => ReactNode)
renderHeader?: ((options: {
    defaultHeader: ReactNode;
    activeTab: "group" | "direct";
    onClose: (() => void);
}) => ReactNode)
renderTabs?: ((options: {
    defaultTabs: ReactNode;
    activeTab: "group" | "direct";
    switchToDirect: (() => void);
    switchToGroup: (() => void);
}) => ReactNode)
renderTabButton?: ((options: {
    type: "group" | "direct";
    isActive: boolean;
    defaultButton: ReactNode;
    switchTo: (() => void);
}) => ReactNode)
renderPanels?: ((options: {
    defaultPanels: ReactNode;
    activeTab: "group" | "direct";
}) => ReactNode)
renderBody?: ((options: {
    defaultBody: ReactNode;
    activeTab: "group" | "direct";
}) => ReactNode)
renderContent?: ((options: {
    defaultContent: ReactNode;
    activeTab: "group" | "direct";
}) => ReactNode)