flutter_chat_ui library

Classes

AnimatedCircles
Animated Circles Widget.
AttachmentButton
A class that represents attachment button widget.
AvatarHandler
Multi Avatar Handler Widget.
Chat
Entry widget, represents the complete chat. If you wrap it in SafeArea and it should be full screen, set SafeArea's bottom to false.
ChatL10n
Base chat l10n containing all required properties to provide localized copy. Extend this class if you want to create a custom l10n.
ChatL10nAr
Arabic l10n which extends ChatL10n.
ChatL10nDe
German l10n which extends ChatL10n.
ChatL10nEn
English l10n which extends ChatL10n.
ChatL10nEs
Spanish l10n which extends ChatL10n.
ChatL10nFa
Persian l10n which extends ChatL10n.
ChatL10nFi
Finnish l10n which extends ChatL10n.
ChatL10nKo
Korean l10n which extends ChatL10n.
ChatL10nPl
Polish l10n which extends ChatL10n.
ChatL10nPt
Portuguese l10n which extends ChatL10n.
ChatL10nRu
Russian l10n which extends ChatL10n.
ChatL10nSe
Swedish l10n which extends ChatL10n.
ChatL10nTr
Turkish l10n which extends ChatL10n.
ChatL10nUk
Ukrainian l10n which extends ChatL10n.
ChatL10nZhCN
Simplified Chinese l10n which extends ChatL10n.
ChatL10nZhTW
Traditional Chinese l10n which extends ChatL10n.
ChatList
Animated list that handles automatic animations and pagination.
ChatState
Chat widget state.
ChatTheme
Base chat theme containing all required properties to make a theme. Extend this class if you want to create a custom theme.
DarkChatTheme
Dark chat theme which extends ChatTheme.
DefaultChatTheme
Default chat theme which extends ChatTheme.
FileMessage
A class that represents file message widget.
ImageGallery
ImageGalleryOptions
ImageMessage
A class that represents image message widget. Supports different aspect ratios, renders blurred image as a background which is visible if the image is narrow, renders image in form of a file if aspect ratio is very small or very big.
Input
A class that represents bottom bar widget with a text field, attachment and send buttons inside. By default hides send button when text field is empty.
InputOptions
InputTextFieldController
Controller for the TextField on Input widget To highlighting the matches for pattern.
Message
Base widget for all message types in the chat. Renders bubbles around messages and status. Sets maximum width for a message for a nice look on larger screens.
MessageStatus
A class that represents a message status.
PatternStyle
ScrollToUnreadOptions
SendButton
A class that represents send button widget.
SystemMessage
A class that represents system message widget.
SystemMessageTheme
TextMessage
A class that represents text message widget with optional link preview.
TextMessageOptions
TextMessageText
Widget to reuse the markdown capabilities, e.g., for previews.
TypingAvatar
TypingIndicator
TypingIndicatorOptions
TypingIndicatorTheme
TypingWidget
Typing Widget.
UnreadHeader
UnreadHeaderTheme
UserAvatar
Renders user's avatar or initials next to a message.
UserName
Renders user's name as a message heading according to the theme.

Enums

BubbleRtlAlignment
EmojiEnlargementBehavior
Used to control the enlargement behavior of the emojis in the types.TextMessage.
InputClearMode
Used to set Input clear mode when message is sent.
SendButtonVisibilityMode
Used to toggle the visibility behavior of the SendButton based on the TextField state inside the Input widget.
TypingIndicatorMode
Used to toggle the display of avatars, names or both on TypingIndicator.

Constants

colors → const List<Color>
See ChatTheme.userAvatarNameColors.
dark → const Color
Dark.
error → const Color
Error.
neutral0 → const Color
N0.
neutral1 → const Color
N1.
neutral2 → const Color
N2.
neutral7 → const Color
N7.
neutral7WithOpacity → const Color
N7 with opacity.
primary → const Color
Primary.
secondary → const Color
Secondary.
secondaryDark → const Color
Secondary dark.

Properties

chatMessageAutoScrollIndexById Map<String, int>
Keep track of all the auto scroll indices by their respective message's id to allow animating to them.
final

Functions

boldMatcher({TextStyle? style}) → MatchText
codeMatcher({TextStyle? style}) → MatchText
formatBytes(int size, [int fractionDigits = 2]) String
Returns text representation of a provided bytes value (e.g. 1kB, 1GB).
isConsistsOfEmojis(EmojiEnlargementBehavior emojiEnlargementBehavior, TextMessage message) bool
Returns whether the message consists of a single emoji or multiple emojis depending on the given emojiEnlargementBehavior.
italicMatcher({TextStyle? style}) → MatchText
lineThroughMatcher({TextStyle? style}) → MatchText
mailToMatcher({TextStyle? style}) → MatchText
urlMatcher({TextStyle? style, dynamic onLinkPressed(String url)?}) → MatchText