chat_ui_kit library

Classes

ChatBase
The base class for your custom Chat model, which has to extend ChatBase
ChatMessageAudio
A default Widget that can be used to play audio files This is more an example to give you an idea how to structure your own Widget
ChatMessageImage
A default Widget that can be used to load an image This is more an example to give you an idea how to structure your own Widget, since too many aspects would require to be customized, for instance implementing your own image loader, padding, constraints, footer etc.
ChatMessageText
A default Widget that can be used to display text This is more an example to give you an idea how to structure your own Widget
ChatMessageVideo
A default Widget that can be used to show a video preview. One would play the video upon clicking the item. This is more an example to give you an idea how to structure your own Widget, since too many aspects would require to be customized, for instance implementing your own image loader, padding, constraints, footer etc.
ChatsList<T extends ChatBase>
ChatsListController<T extends ChatBase>
A class that manages the item list; as such, this class should be the only one holding the list of items it controls You should perform all add/remove items with the api this class provides. There is no selection management since usually tapping simply means navigating to the chat and longPressing will trigger single item actions;
ChatsListStyle
Styling and settings for ChatsList.
ChatsListTile<T extends ChatBase>
ChatsListTileBuilders<T extends ChatBase>
DateLabel
GroupAvatar<T>
A widget the display multiple avatars inside a single widget
GroupAvatarStyle
IncomingMessageTileBuilders<T extends MessageBase>
MessageBase
The base class for your custom ChatMessage model, which has to extend MessageBase
MessageContainer
MessageContainerStyle
MessageFooter<T extends MessageBase>
MessageInput
MessageInputTypingHandler
A typing handler that will emit a TypingEvent when necessary Four steps are required to use it:
MessagesList<T extends MessageBase>
MessagesListController<T extends MessageBase>
A class that manages the item list; as such, this class should be the only one holding the list of items it controls You should perform all add/remove items with the api this class provides. This class also handles click management: longPressing an item will select it; tapping an item will toggle its selection if isSelectionModeActive is true. Listen to selectionEventStream to catch any selection event SelectionEvent. Make sure to call MessagesListController.dispose when disposing the widget.
MessagesListTile<T extends MessageBase>
MessageStyle
Styling and settings for MessagesList.
MessageTileBuilders<T extends MessageBase>
OutgoingMessageTileBuilders<T extends MessageBase>
SelectionEvent<T>
A wrapper called every time an item is either selected or unselected.
UserBase
The base class for your custom User model, which has to extend UserBase

Enums

AvatarBehaviour
GroupAvatarMode
GroupAvatarShape
MessageBaseType
The type of the MessageBase, see MessageBase.messageType
MessageFlow
Determines the flow of the message; incoming == a message from another user outgoing == a message from the app user
MessagePosition
Represents the position of a MessageBase relative to others
SelectionType
The type of selection passed in SelectionEvent
TypingEvent
An event called by MessageInputTypingHandler when the user starts or stop typing

Functions

messageDecoration(BuildContext context, {Color? color, double radius = 8.0, double tightRadius = 0.0, MessagePosition? messagePosition = MessagePosition.isolated, MessageFlow messageFlow = MessageFlow.outgoing}) BoxDecoration
messageFooter<T extends MessageBase>(BuildContext context, T item) Widget

Typedefs

ChatsWidgetBuilder<T extends ChatBase> = Widget Function(BuildContext context, int index, ChatBase item)
Builder called to construct parts of the ChatsListTile widget. index is the item's position in the list
DateBuilder = Widget Function(BuildContext context, DateTime date)
GroupAvatarWidgetBuilder<T> = Widget Function(BuildContext context, int imageIndex, Size size, List<T?> items)
Builder called to construct the Image widget. imageIndex is the position of the image inside the GroupAvatar as follows:
MessageWidgetBuilder<T extends MessageBase> = Widget Function(BuildContext context, int index, T item, MessagePosition? messagePosition)
Builder called to construct parts of the MessagesListTile widget. index is the item's position in the list