likeminds_chat_flutter_ui library

Classes

LMChatAppBar
A custom AppBar for chat interfaces.
LMChatAppBarStyle
Style configuration for LMChatAppBar.
LMChatAttachmentViewData
LMChatAttachmentViewData is a model class that holds the data for the attachment view.
LMChatAttachmentViewDataBuilder
LMChatAttachmentViewDataBuilder is a builder class that helps in building the LMChatAttachmentViewData object.
LMChatAudioHandler
Abstract class defining the interface for audio handling operations
LMChatBottomSheet
LMChatBottomSheetStyle
LMChatBubble
The chat bubble widget. This widget is used to display the chat bubble.
LMChatBubbleContent
LMChatBubbleContentStyle
LMChatBubbleFooter
A widget that represents the footer of a chat bubble.
LMChatBubbleFooterStyle
A style class for customizing the appearance of the chat bubble footer.
LMChatBubbleHeader
LMChatBubbleMedia
LMChatBubbleReactions
LMChatBubbleReactionsStyle
A class that defines the style for the chat bubble reactions.
LMChatBubbleReply
A widget to display a reply to a conversation
LMChatBubbleReplyStyle
Style for the reply item
LMChatBubbleSides
LMChatBubbleStyle
Style configuration for the chat bubble.
LMChatButton
This widget is used to display a text button The LMChatButton can be customized by passing in the required parameters
LMChatButtonStyle
LMChatButtonStyle is used to style the LMChatButton
LMChatChip
A widget which displays a chip.
LMChatChipStyle
A class which describes the style for the LMChatChip
LMChatConversationActionInterface
The interface for the chat conversation actions.
LMChatConversationViewData
LMChatConversationViewData is a model class that holds the data for the conversation view. This class is used to display the conversation information in the chat screen.
LMChatConversationViewDataBuilder
LMChatConversationViewDataBuilder is a builder class used to create an instance of LMChatConversationViewData. This class is used to create an instance of LMChatConversationViewData with the provided values.
LMChatCustomPopupMenuStyle
A class representing the style properties for a custom popup menu.
LMChatDefaultDarkTheme
Default dark theme colors and values for the LMChat UI
LMChatDefaultTheme
LMChatDeleteReasonViewData
A data class to hold the delete reason data.
LMChatDeleteReasonViewDataBuilder
A builder class to build LMChatDeleteReasonViewData
LMChatDialog
A widget to show a chat dialog.
LMChatDialogStyle
The style of the LMChatDialog.
LMChatDocumentPreview
A widget that displays a document preview with single attachment.
LMChatDocumentPreviewStyle
Defines the style properties for the LMChatDocumentPreview widget.
LMChatDocumentShimmer
A shimmer loading widget that is shown while document tile is loading
LMChatDocumentShimmerStyle
Defines the style properties for the LMChatDocumentShimmer widget.
LMChatDocumentStyle
LMChatDocumentThumbnail
A widget that displays a thumbnail for a document.
LMChatDocumentThumbnailStyle
Defines the style properties for a document tile in the LMChat UI.
LMChatDocumentTile
A widget that displays a tile for a document.
LMChatDocumentTilePreview
A widget that displays multiple document previews.
LMChatDocumentTilePreviewState
The state for the GetMultipleDocPreview widget.
LMChatDocumentTilePreviewStyle
Defines the style properties for the LMChatDocumentTilePreview widget.
LMChatDocumentTileStyle
Defines the style properties for a document tile in the LMChat UI.
LMChatFloatingActionButton
LMChatFloatingActionButtonStyle
LMChatGIF
A widget to display and control GIF animations in the LMChat UI. The media parameter is required and contains the GIF data.
LMChatGIFStyle
Defines the style properties for the LMChatGIF widget.
LMChatIcon
A simple icon widget to be used throughout the Chat Represents three types of icons - icon, png, svg Provides customisability through LMChatIconStyle
LMChatIconStyle
LMChatImage
A widget to display an image in a post. The image can be fetched from a URL or from a file. The LMChatImage can be customized by passing in the required parameters and can be used in a post. The image can be tapped to perform an action. The image can be customized by passing in the required parameters and can be used in a post.
LMChatImageStyle
The style class for LMChatImage
LMChatLinkPreview
A widget to display a link preview in a chatroom. The LMChatLinkPreview can be customized by passing in the required parameters and can be used in a chatroom.
LMChatLinkPreviewBar
A widget to display a link preview bar on top of the chat bar textfield.
LMChatLinkPreviewBarStyle
Represents the style configuration for the LMChatLinkPreviewBar widget. The leadingStyle defines the style for the leading image. The titleStyle defines the style for the title text. The subtitleStyle defines the style for the subtitle text. The cancelButtonStyle defines the style for the cancel button. The margin defines the margin around the widget. The padding defines the padding around the widget. The innerPadding defines the padding inside the widget. The height defines the height of the widget. The width defines the width of the widget. The decoration defines the decoration for the widget.
LMChatLinkPreviewStyle
Represents the style configuration for the LMChatLinkPreviewBar widget. The leadingStyle defines the style for the leading image. The titleStyle defines the style for the title text. The subtitleStyle defines the style for the subtitle text. The cancelButtonStyle defines the style for the cancel button. The margin defines the margin around the widget. The padding defines the padding around the widget. The innerPadding defines the padding inside the widget. The height defines the height of the widget. The width defines the width of the widget. The decoration defines the decoration for the widget.
LMChatLoader
LMChatLoaderStyle
LMChatMediaErrorStyle
LMChatMediaErrorWidget
LMChatMediaModel
LMChatMediaModel is a model class that represents media in a chat conversation. It contains information about the media file, its type, dimensions, and additional metadata.
LMChatMediaShimmerStyle
LMChatMediaShimmerWidget
LMChatMenu
The chat menu widget. This widget is used to show the chat menu. The LMChatMenu widget takes the following parameters:
LMChatMenuItem
The chat menu item widget. This widget is used to show the chat menu item. The LMChatMenuItem widget takes the following parameters:
LMChatMenuItemStyle
The style for the chat menu item. This class is used to style the chat menu item. The LMChatMenuItemStyle widget takes the following parameters:
LMChatMenuItemViewData
LMChatMenuItemViewData is a model class that holds the data for the menu item view. This class is used to display the menu items in the chat screen.
LMChatMenuItemViewDataBuilder
LMChatMenuItemViewDataBuilder is a builder class used to create an instance of LMChatMenuItemViewData.
LMChatMenuStyle
The style for the chat menu. This class is used to style the chat menu. The LMChatMenuStyle class takes the following parameters:
LMChatOGTagsViewData
LMChatOGTagsViewData is a model class that contains the data required to display the Open Graph tags in the chat. This class is used to display the Open Graph tags in the chat screen.
LMChatOGTagsViewDataBuilder
LMChatOGTagsViewDataBuilder is a builder class used to create an instance of LMChatOGTagsViewData. This class is used to create an instance of LMChatOGTagsViewData with the provided values.
LMChatPoll
A widget that represents a poll in the LM Chat application.
LMChatPollOption
Poll option widget responsible for rendering the poll option
LMChatPollOptionStyle
Style class for Poll option widget
LMChatPollOptionViewData
LMChatPollOptionViewData is a model class used to represent the poll option data in the chat. This class is used to display the poll options in the chat screen.
LMChatPollOptionViewDataBuilder
LMChatPollOptionViewDataBuilder is a builder class used to create an instance of LMChatPollOPtionViewData. This class is used to create an instance of LMChatPollOPtionViewData with the provided values.
LMChatPollStyle
Style class for Poll widget
LMChatPollUtils
Utility class for poll related operations.
LMChatPopUpMenuStyle
LMChatProfilePicture
LMChatProfilePictureStyle
LMChatReactionBar
A widget that displays a bar for selecting reactions.
LMChatReactionBarStyle
A class that defines the style for the reaction bar in the chat interface.
LMChatReactionBottomSheet
A widget that displays a bottom sheet for selecting reactions.
LMChatReactionBottomSheetStyle
A class that defines the style for the reaction bottom sheet.
LMChatReactionKeyboard
A widget for choosing emojis from the keyboard for reaction purposes, and more
LMChatReactionKeyboardStyle
LMChatReactionViewData
LMChatReactionViewData is a model class that contains the data required to render a reaction in the chat. This class is used to display the reactions in the chat screen.
LMChatReactionViewDataBuilder
LMChatReactionViewDataBuilder is a builder class used to create an instance of LMChatReactionViewData. This class is used to create an instance of LMChatReactionViewData with the provided values.
LMChatReportTagViewData
A view data class to hold the report tag data. id is the id of the report tag. name is the name of the report tag.
LMChatReportTagViewDataBuilder
A builder class to build LMChatReportTagViewData id is the id of the report tag. name is the name of the report tag.
LMChatRichText
A customizable rich text widget to be used throughout the Chat experience.
LMChatRichTextStyle
Style class for LMChatRichText; used for customization.
LMChatRoomViewData
LMChatRoomViewData is a model class that holds the data for the chat room view. This class is used to display the chat room information in the chat screen.
LMChatRoomViewDataBuilder
LMChatRoomViewDataBuilder is a builder class that is used to create an instance of LMChatRoomViewData. This class is used to create an instance of LMChatRoomViewData with the provided values.
LMChatSDKClientInfoViewData
LMChatSDKClientInfoViewData is a model class that holds the data for the client info view. This class is used to display the client information in the chat screen.
LMChatSkeletonAnimation
LMChatSkeletonAppBar
LMChatSkeletonChatBar
LMChatSkeletonChatBubble
LMChatSkeletonChatList
LMChatSkeletonChatPage
LMChatSkeletonChatPage is a skeleton screen for the chat page.
LMChatSkeletonChatroom
LMChatSkeletonChatroomList
LMChatSnackBar
LMChatSnackBarStyle
LMChatStateBubble
LMChatStateBubbleStyle
LMChatTaggingHelper
LMChatTagViewData
LMChatTagViewData is a model class that holds the data for the tag view. This class is used to display the tag information in the chat screen.
LMChatTagViewDataBuilder
LMChatTagViewDataBuilder is a builder class used to create an instance of LMChatTagViewData. This class is used to create an instance of LMChatTagViewData with the provided values.
LMChatText
A simple text widget to be used throughout the Chat experience
LMChatTextFieldStyle
LMChatTextSpan
A customizable TextSpan widget to be used throughout the Chat experience.
LMChatTextSpanStyle
Style class for LMChatTextSpan; used for customization.
LMChatTextStyle
Style class for LMChatText; used for customization
LMChatTheme
A class for manaing the theme of the entire chat experience Use parameters to style, and custmise each aspect.
LMChatThemeData
LMChatTile
A widget to display a tile in the chat list It can be used to display a chat room or a user in the chat list It can be customized using the LMChatTileStyle using style property extra properties can be passed using the leading, title, subtitle and trailing properties
LMChatTileStyle
LMChatTimeAgo
LMChatTimeAgoMessages
LookupMessages template for any language
LMChatTimeMessages
English Messages
LMChatTimeShortMessages
English short Messages
LMChatUserTile
LMChatUserTile is a LMChatTile that represents a user in a chat room.
LMChatUserViewData
A view data class to hold the user data.
LMChatUserViewDataBuilder
A builder class to build LMUserViewData
LMChatVideo
A widget that displays a video in a chat interface.
LMChatVideoStyle
Configuration for the LMChatVideo widget's style.
LMChatVoiceNote
A widget to display and control audio playback in the LMChat UI. The media parameter is required and contains the audio data.
LMChatVoiceNoteStyle
Defines the style properties for the LMChatAudio widget.
LMChatWidgetViewData
LMWidgetViewData is a data class that represents the data of a widget view. This class is used to display the widget view in the chat screen.
LMDualSidePagedList<T>
A widget that displays a list of items that can be paginated from both sides.
LMDualSidePaginationController<T>
A helper class to manage pagination for a list of items. it is used in the LMDualSidePagedList widget.
LMSDKClientInfoViewDataBuilder
LMChatSDKClientInfoViewDataBuilder is a builder class used to create an instance of LMChatSDKClientInfoViewData. This class is used to create an instance of LMChatSDKClientInfoViewData with the provided values.
LMWidgetViewDataBuilder
LMWidgetViewDataBuilder is a builder class used to create an instance of LMChatWidgetViewData. This class is used to create an instance of LMChatWidgetViewData with the provided values.
PlaybackProgress
Class to hold playback progress information
ScreenSize
Class to initialize the screen size

Enums

LMChatAudioState
Enum to represent audio states
LMChatConversationViewType
LMChatIconButtonPlacement
Specifies the placement position of an icon within a button
LMChatIconType
Describes the type of icon that can be used in LMChatIcon
LMChatMediaType
Enumeration representing the type of media in a conversation
LMChatPollMultiSelectState
Enum to define the multi select state of the poll i.e. exactly, at least, at most
LMChatPollType
Enum to define the type of poll i.e. instant, deferred and open
LMChatSelectionType
Specifies the type of selection for a chatroom
LMChatSpace
Defines different sorting/filtering options for exploring chatrooms
LMChatUserRole
Enum representing different roles a user can have Enum representing different roles a user can have in a chat
LMPaginationDirection
enum to represent the direction of pagination
LMPaginationType
enum to represent the direction in which pagination call will be triggered
LMTagType
LMTagType is an enum class that holds the values for the tag type. This class is used to differentiate between the group tag and user tag. The values are groupTag and userTag.

Constants

kAttachmentTypeAudio → const String
Attachment type constant for audio files
kAttachmentTypeGIF → const String
Attachment type constant for GIFs
kAttachmentTypeImage → const String
Attachment type constant for images
Attachment type constant for links
kAttachmentTypePDF → const String
Attachment type constant for PDF files
kAttachmentTypeVideo → const String
Attachment type constant for videos
kAttachmentTypeVoiceNote → const String
Attachment type constant for voice notes
kBorderRadiusMedium → const double
Border radius constant for medium radius
kBorderRadiusXSmall → const double
Border radius constant for extra small radius
kButtonFontSize → const double
Font size constant for button text
kChatbotIcon → const String
chatbot icon path
kDocumentIcon → const String
document icon path
kFontMedium → const double
Font size constant for medium text
kFontSmall → const double
Font size constant for small text
kFontSmallMed → const double
Font size constant for small-medium text
kFontXSmall → const double
Font size constant for extra small text
kHorizontalPaddingLarge → const SizedBox
Horizontal padding constant for large padding
kHorizontalPaddingMedium → const SizedBox
Horizontal padding constant for medium padding
kHorizontalPaddingSmall → const SizedBox
Horizontal padding constant for small padding
kHorizontalPaddingXLarge → const SizedBox
Horizontal padding constant for extra large padding
kHorizontalPaddingXSmall → const SizedBox
Horizontal padding constant for extra small padding
kPaddingLarge → const double
Padding constant for large padding
kPaddingMedium → const double
Padding constant for medium padding
kPaddingSmall → const double
Padding constant for small padding
kPaddingXLarge → const double
Padding constant for extra large padding
kPaddingXSmall → const double
Padding constant for extra small padding
kPollIcon → const String
poll icon path
kRegexLinksAndTags → const String
Regular expression for links and tags
kTickIcon → const String
tick icon path
kVerticalPaddingLarge → const SizedBox
Vertical padding constant for large padding
kVerticalPaddingMedium → const SizedBox
Vertical padding constant for medium padding
kVerticalPaddingSmall → const SizedBox
Vertical padding constant for small padding
kVerticalPaddingXLarge → const SizedBox
Vertical padding constant for extra large padding
kVerticalPaddingXSmall → const SizedBox
Vertical padding constant for extra small padding
mediaExtentions → const List<String>
photoExtentions → const List<String>
reactionEmojis → const List<String>
A list of emojis representing different reactions.
videoExtentions → const List<String>

Functions

downloadFile({String? fileUrl, LMChatMediaModel? media}) Future<String>
Downloads a file from a URL and saves it locally
extractLinkAndEmailFromString(String text) LinkifyElement?
extractLinkFromString(String text) List<String>
getChatBubbleImage(LMChatAttachmentViewData mediaFile, {double? width, double? height, void onTap()?}) Widget
getChatItemAttachmentTile(BuildContext context, String message, List<LMChatAttachmentViewData> mediaFiles, LMChatConversationViewData conversation, {String? prefix}) Widget
Builds a widget to display the attachment tiles for a chat item.
getFileImageTile(LMChatAttachmentViewData mediaFile, {double? width, double? height}) Widget
getFileSizeInDouble(int bytes) double
getFileSizeString({required int bytes, int decimals = 0}) String
getFirstValidLinkFromString(String text) String
getHeightOfWidget(GlobalKey<State<StatefulWidget>> widgetKey) double?
Returns the height of the widget associated with the given GlobalKey.
getImageFileMessage(BuildContext context, List<LMChatAttachmentViewData> mediaFiles, LMChatImageBuilder? imageBuilder) Widget
getImageMessage(BuildContext context, List<LMChatAttachmentViewData>? conversationAttachments, LMChatImageBuilder? imageBuilder) Widget
getInitials(String name) String
Returns the initials of a given name.
getPositionOfChatBubble(GlobalKey<State<StatefulWidget>> widgetKey) Offset
Returns the global position of the chat bubble widget.
getVideoThumbnail(LMChatMediaModel media) Future<File?>
getVideoThumbnailBytes(LMChatMediaModel media) Future<Uint8List?>
getWidthOfWidget(GlobalKey<State<StatefulWidget>> widgetKey) double?
Returns the width of the widget associated with the given GlobalKey.
mapMediaTypeToString(LMChatMediaType mediaType) String
Maps the LMChatMediaType to its corresponding string representation.
mapStringToMediaType(String mediaType) LMChatMediaType
Maps the string representation of a media type to its corresponding LMChatMediaType.

Typedefs

ItemBuilder<T> = Widget Function(BuildContext context, T item, int index)
A builder function that builds a widget for an item in the list. The context is the build context. The item is the item to build the widget for. The index is the index of the item in the list.
LMChatAppBarBuilder = LMChatAppBar Function(LMChatAppBar oldAppBar)
The app bar builder function for the any screen. This function is called to build the app bar for the chat screen. The LMChatAppBarBuilder function takes one parameter:
LMChatBubbleBuilder = Widget Function(LMChatConversationViewData conversation, LMChatUserViewData user, LMChatBubble oldBubble)
this function is called to build the chat bubble for the chat screen. The LMChatBubbleBuilder function takes three parameters:
LMChatBubbleContentBuilder = Widget Function(LMChatConversationViewData conversation)
LMChatButtonBuilder = Widget Function(LMChatButton olButton)
The button builder function for the chat. This function is called to build the button for the chat. The LMChatButtonBuilder function takes one parameter:
LMChatContextWidgetBuilder = Widget Function(BuildContext context)
The context widget builder function for the chat screen. This function is called to build the context widget for the chat screen. The LMChatContextWidgetBuilder function takes one parameter:
LMChatDocumentPreviewBuilder = Widget Function(BuildContext context, LMChatAttachmentViewData attachment, LMChatDocumentPreview oldWidget)
The document widget builder function for the chat screen. This function is called to build the document widget for the chat screen. The LMChatDocumentPreviewBuilder function takes three parameters:
LMChatDocumentThumbnailBuilder = Widget Function(BuildContext context, LMChatAttachmentViewData attachment, LMChatDocumentThumbnail oldWidget)
The document thumbnail widget builder function for the chat screen. This function is called to build the document thumbnail widget for the chat screen. The LMChatDocumentThumbnailBuilder function takes three parameters:
LMChatDocumentTileBuilder = Widget Function(BuildContext context, LMChatAttachmentViewData attachment, LMChatDocumentTile oldWidget)
The document tile widget builder function for the chat screen. This function is called to build the document tile widget for the chat screen. The LMChatDocumentTileBuilder function takes three parameters:
LMChatDocumentTilePreviewBuilder = Widget Function(BuildContext context, LMChatAttachmentViewData attachment, LMChatDocumentTilePreview oldWidget)
The document widget builder function for the chat screen. This function is called to build the document widget for the chat screen. The LMChatDocumentPreviewBuilder function takes three parameters:
LMChatErrorHandler = dynamic Function(String, StackTrace)
The error handler function for the chat. This function is called when an error occurs in the chat. The LMChatErrorHandler function takes two parameters:
LMChatGIFBuilder = Widget Function(BuildContext context, LMChatAttachmentViewData attachment, LMChatGIF oldWidget)
The gif widget builder function for the chat screen. This function is called to build the gif widget for the chat screen. The LMChatGIFBuilder function takes three parameters:
LMChatHomeAppBarBuilder = LMChatAppBar Function(LMChatUserViewData currentUser, LMChatAppBar oldAppBar)
The app bar builder function for the chat home screen. This function is called to build the app bar for the chat home screen. The LMChatHomeAppBarBuilder function takes two parameters:
LMChatIconBuilder = Widget Function(BuildContext context, LMChatIcon icon)
The icon builder function for the chat screen. This function is called to build the icon for the chat screen. The LMChatIconBuilder function takes two parameters:
LMChatImageBuilder = Widget Function(BuildContext context, LMChatAttachmentViewData attachment, LMChatImage oldWidget)
The image widget builder function for the chat screen. This function is called to build the image widget for the chat screen. The LMChatImageBuilder function takes three parameters:
LMChatPollBuilder = Widget Function(BuildContext context, LMChatPoll poll, LMChatConversationViewData conversation)
The poll builder function for the chat screen. This function is called to build the poll for the chat screen. The LMChatPollBuilder function takes three parameters:
LMChatProfilePictureBuilder = Widget? Function(BuildContext context, LMChatProfilePicture? profilePicture)
The profile picture builder function for the chat screen. This function is called to build the profile picture for the chat screen. The LMChatProfilePictureBuilder function takes two parameters:
LMChatroomAppBarBuilder = LMChatAppBar Function(LMChatRoomViewData chatrooom, LMChatAppBar oldAppBar)
The tile builder function for the chat home screen. This function is called to build the tile for the chat home screen. The LMChatHomeTileBuilder function takes two parameters:
LMChatroomChatBarBuilder = Widget Function(LMChatRoomViewData chatroom, Function onMessageSent)
The chat bar builder function for the chat room screen. This function is called to build the chat bar for the chat room screen. The LMChatroomChatBarBuilder function takes two parameters:
LMChatroomTileBuilder = LMChatTile Function(LMChatRoomViewData chatroom, LMChatTile oldTile)
The tile builder function for the chat room screen. This function is called to build the tile for the chat room screen. The LMChatroomTileBuilder function takes two parameters:
LMChatStateBubbleBuilder = Widget Function(String message, LMChatStateBubble oldStateBubble)
The state bubble builder function for the chat screen. This function is called to build the state bubble for the chat screen. The LMChatStateBubbleBuilder function takes two parameters:
LMChatTextBuilder = Widget Function(BuildContext, LMChatText)
The text builder function for the chat screen. This function is called to build the text for the chat screen. The LMChatTextBuilder function takes two parameters:
LMChatUserTileBuilder = Widget Function(BuildContext context, LMChatUserViewData user, LMChatUserTile oldUserTile)
The tile builder function for the chat screen. This function is called to build the tile for the chat screen. The LMChatTileBuilder function takes two parameters:
LMChatVideoBuilder = Widget Function(BuildContext context, LMChatAttachmentViewData attachment, LMChatVideo oldWidget)
The video widget builder function for the chat screen. This function is called to build the video widget for the chat screen. The LMChatVideoBuilder function takes three parameters:
LMChatVoiceNoteBuilder = Widget Function(BuildContext context, LMChatAttachmentViewData attachment, LMChatVoiceNote oldWidget)
The voice note widget builder function for the chat screen. This function is called to build the voice note widget for the chat screen. The LMChatVoiceNoteBuilder function takes three parameters:
LMContextWidgetBuilder = Widget Function(BuildContext context)
The context widget builder function for the chat screen. This function is called to build the context widget for the chat screen. The LMContextWidgetBuilder function takes one parameter: