isMessagesModalVisible
isMessagesModalVisible: boolean
onMessagesClose
onMessagesClose: () => void
OptionalonSendMessagePress
startDirectMessage
startDirectMessage: boolean
updateStartDirectMessage
updateStartDirectMessage: (start: boolean) => void
updateDirectMessageDetails
updateDirectMessageDetails: (participant: Participant | null) => void chatSetting
chatSetting: string
Optionalposition
position?: string
OptionalbackgroundColor
backgroundColor?: string
OptionalactiveTabBackgroundColor
activeTabBackgroundColor?: string
OptionalisDarkMode
isDarkMode?: boolean
OptionalenableGlassmorphism
enableGlassmorphism?: boolean
Optionaltitle
title?: ReactNode
OptionaloverlayProps
overlayProps?: HTMLAttributes<HTMLDivElement>
OptionalcontentProps
contentProps?: HTMLAttributes<HTMLDivElement>
headerProps?: HTMLAttributes<HTMLDivElement>
OptionaltitleProps
titleProps?: HTMLAttributes<HTMLDivElement>
OptionaltabListProps
tabListProps?: HTMLAttributes<HTMLDivElement>
tabButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
OptionalcloseIconComponent
closeIconComponent?: ReactNode
OptionalbodyProps
bodyProps?: HTMLAttributes<HTMLDivElement>
OptionaldirectPanelWrapperProps
directPanelWrapperProps?: HTMLAttributes<HTMLDivElement>
OptionalgroupPanelWrapperProps
groupPanelWrapperProps?: HTMLAttributes<HTMLDivElement>
OptionalemptyState
emptyState?: ReactNode | ((context: { type: "group" | "direct" }) => ReactNode)
renderHeader?: (
options: {
defaultHeader: ReactNode;
activeTab: "group" | "direct";
onClose: () => void;
},
) => ReactNode
OptionalrenderTabs
renderTabs?: (
options: {
defaultTabs: ReactNode;
activeTab: "group" | "direct";
switchToDirect: () => void;
switchToGroup: () => void;
},
) => ReactNode
renderTabButton?: (
options: {
type: "group" | "direct";
isActive: boolean;
defaultButton: ReactNode;
switchTo: () => void;
},
) => ReactNode
OptionalrenderPanels
renderPanels?: (
options: { defaultPanels: ReactNode; activeTab: "group" | "direct" },
) => ReactNode
OptionalrenderBody
renderBody?: (
options: { defaultBody: ReactNode; activeTab: "group" | "direct" },
) => ReactNode
OptionalrenderContent
renderContent?: (
options: { defaultContent: ReactNode; activeTab: "group" | "direct" },
) => ReactNode
Theme control - whether dark mode is active