chat_toolkit library

A comprehensive Flutter chat toolkit that provides customizable chat widgets and controllers for building chat interfaces.

This library follows Clean Architecture principles and SOLID design patterns to ensure maintainable and extensible chat functionality.

Example usage:

Chat(
  chatController: ChatController(),
  configuration: ChatConfiguration(
    senderAlignment: ChatAlignment.end,
  ),
)

Classes

BubbleConfiguration
Configuration class for message bubble appearance and behavior.
Chat
A customizable chat widget that provides a complete chat interface.
ChatConfiguration
Main configuration class for chat appearance and behavior.
ChatController
Controller that manages chat state and behavior.
FailedMessageEntry
Entry for tracking failed message dispatch operations.
Message
Abstract base class representing a chat message.
MessageBubble
Widget that displays a message bubble with appropriate styling.
MessageDispatchResult
Result of a message dispatch operation.
MessageElement
Abstract base class for message content elements.
MessageGroup
A group of consecutive messages from the same sender.
ReceiverMessage
Represents an incoming message from another participant.
SenderMessage
Represents an outgoing message from the current user.

Enums

ChatAlignment
Alignment options for chat elements.

Typedefs

CustomSortCallback = int Function(Message a, Message b)
Custom sort callback for message sorting.
MessageDispatchCallback = Future<Message?> Function(Message)
Callback function type for message dispatch operations.