react-native-gifted-chat
Version:
The most complete chat UI for React Native
40 lines (36 loc) • 1.3 kB
Flow
// @flow
import * as React from 'react'
import { FlatList } from 'react-native'
import type { LoadEarlierProps } from './LoadEarlier'
import type { MessageProps } from './Message'
import type { User, IMessage, Reply } from './types'
import type { ViewStyleProp } from 'react-native/Libraries/StyleSheet/StyleSheet'
export type MessageContainerProps<TMessage: IMessage = IMessage> = $ReadOnly<{|
messages?: Array<TMessage>,
user?: User,
listViewProps: $Shape<React.ElementProps<typeof FlatList>>,
inverted?: boolean,
loadEarlier?: boolean,
alignTop?: boolean,
scrollToBottom?: boolean,
invertibleScrollViewProps?: any,
extraData?: any,
scrollToBottomOffset?: number,
forwardRef?: React.Ref<typeof FlatList>,
renderFooter?: (MessageContainerProps<TMessage>) => React.Node,
renderMessage?: (MessageProps<TMessage>) => React.Node,
renderLoadEarlier?: LoadEarlierProps => React.Node,
scrollToBottomComponent?: () => React.Node,
scrollToBottomStyle?: ViewStyleProp,
onLoadEarlier?: () => void,
onQuickReply?: (Array<Reply>) => void,
|}>
type MessageContainerState = {|
showScrollBottom: boolean,
|}
export default class MessageContainer<
TMessage: IMessage = IMessage,
> extends React.PureComponent<
MessageContainerProps<TMessage>,
MessageContainerState,
> {}