stream-chat-react
Version:
React components to create chat conversations or livestream style chat
32 lines (31 loc) • 2.51 kB
TypeScript
import React from 'react';
import type { MessageInputProps } from '../MessageInput';
import type { MessageListProps, VirtualizedMessageListProps } from '../MessageList';
import type { MessageProps, MessageUIComponentProps } from '../Message/types';
import type { MessageActionsArray } from '../Message/utils';
export type ThreadProps = {
/** Additional props for `MessageInput` component: [available props](https://getstream.io/chat/docs/sdk/react/message-input-components/message_input/#props) */
additionalMessageInputProps?: MessageInputProps;
/** Additional props for `MessageList` component: [available props](https://getstream.io/chat/docs/sdk/react/core-components/message_list/#props) */
additionalMessageListProps?: MessageListProps;
/** Additional props for `Message` component of the parent message: [available props](https://getstream.io/chat/docs/sdk/react/message-components/message/#props) */
additionalParentMessageProps?: Partial<MessageProps>;
/** Additional props for `VirtualizedMessageList` component: [available props](https://getstream.io/chat/docs/sdk/react/core-components/virtualized_list/#props) */
additionalVirtualizedMessageListProps?: VirtualizedMessageListProps;
/** If true, focuses the `MessageInput` component on opening a thread */
autoFocus?: boolean;
/** Injects date separator components into `Thread`, defaults to `false`. To be passed to the underlying `MessageList` or `VirtualizedMessageList` components */
enableDateSeparator?: boolean;
/** Custom thread input UI component used to override the default `Input` value stored in `ComponentContext` or the [MessageInputSmall](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/MessageInputSmall.tsx) default */
Input?: React.ComponentType;
/** Custom thread message UI component used to override the default `Message` value stored in `ComponentContext` */
Message?: React.ComponentType<MessageUIComponentProps>;
/** Array of allowed message actions (ex: ['edit', 'delete', 'flag', 'mute', 'pin', 'quote', 'react', 'reply']). To disable all actions, provide an empty array. */
messageActions?: MessageActionsArray;
/** If true, render the `VirtualizedMessageList` instead of the standard `MessageList` component */
virtualized?: boolean;
};
/**
* The Thread component renders a parent Message with a list of replies
*/
export declare const Thread: (props: ThreadProps) => React.JSX.Element | null;