modules/flutter_chat_ui/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
tofalse
. - 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 givenemojiEnlargementBehavior
. -
italicMatcher(
{TextStyle? style}) → MatchText -
lineThroughMatcher(
{TextStyle? style}) → MatchText -
mailToMatcher(
{TextStyle? style}) → MatchText -
urlMatcher(
{TextStyle? style, dynamic onLinkPressed(String url)?}) → MatchText