StreamComponentBuilders class

A collection of builders for customizing Stream component rendering.

All builders are nullable - when null, the component uses its default implementation.

{@tool snippet}

Create builders with custom button implementation:

final builders = StreamComponentBuilders(
  button: (context, props) => MyCustomButton(props: props),
);

{@end-tool}

{@tool snippet}

Register a custom component builder via extensions:

final builders = StreamComponentBuilders(
  extensions: [
    StreamComponentBuilderExtension<StreamMessageProps>(
      builder: (context, props) => MyCustomMessage(props: props),
    ),
  ],
);

Then retrieve it with extension:

final builder = StreamComponentFactory.of(context).extension<StreamMessageProps>();
if (builder != null) return builder(context, props);

{@end-tool}

See also:

Annotations
  • @immutable
  • @ThemeGen.new(constructor: 'raw')

Constructors

StreamComponentBuilders({StreamComponentBuilder<StreamAppBarProps>? appBar, StreamComponentBuilder<StreamAvatarProps>? avatar, StreamComponentBuilder<StreamBottomAppBarProps>? bottomAppBar, StreamComponentBuilder<StreamAvatarGroupProps>? avatarGroup, StreamComponentBuilder<StreamAvatarStackProps>? avatarStack, StreamComponentBuilder<StreamBadgeCountProps>? badgeCount, StreamComponentBuilder<StreamBadgeNotificationProps>? badgeNotification, StreamComponentBuilder<StreamButtonProps>? button, StreamComponentBuilder<StreamCheckboxProps>? checkbox, StreamComponentBuilder<StreamCommandChipProps>? commandChip, StreamComponentBuilder<StreamContextMenuActionProps<Object?>>? contextMenuAction, StreamComponentBuilder<StreamEmojiProps>? emoji, StreamComponentBuilder<StreamEmojiButtonProps>? emojiButton, StreamComponentBuilder<StreamEmojiChipProps>? emojiChip, StreamComponentBuilder<StreamEmojiChipBarProps<Object?>>? emojiChipBar, StreamComponentBuilder<StreamErrorBadgeProps>? errorBadge, StreamComponentBuilder<StreamFileTypeIconProps>? fileTypeIcon, StreamComponentBuilder<StreamListTileProps>? listTile, StreamComponentBuilder<StreamLoadingSpinnerProps>? loadingSpinner, StreamComponentBuilder<StreamMediaViewerProps>? mediaViewer, StreamComponentBuilder<StreamMessageAnnotationProps>? messageAnnotation, StreamComponentBuilder<StreamMessageBubbleProps>? messageBubble, StreamComponentBuilder<StreamMessageComposerAttachmentProps>? messageComposerAttachment, StreamComponentBuilder<StreamMessageComposerEditMessageAttachmentProps>? messageComposerEditMessageAttachment, StreamComponentBuilder<StreamMessageComposerFileAttachmentProps>? messageComposerFileAttachment, StreamComponentBuilder<StreamMessageComposerLinkPreviewAttachmentProps>? messageComposerLinkPreviewAttachment, StreamComponentBuilder<StreamMessageComposerMediaAttachmentProps>? messageComposerMediaAttachment, StreamComponentBuilder<StreamMessageComposerReplyAttachmentProps>? messageComposerReplyAttachment, StreamComponentBuilder<StreamMessageComposerUnsupportedAttachmentProps>? messageComposerUnsupportedAttachment, StreamComponentBuilder<StreamMessageContentProps>? messageContent, StreamComponentBuilder<StreamMessageMetadataProps>? messageMetadata, StreamComponentBuilder<StreamMessageRepliesProps>? messageReplies, StreamComponentBuilder<StreamMessageTextProps>? messageText, StreamComponentBuilder<StreamNetworkImageProps>? networkImage, StreamComponentBuilder<StreamOnlineIndicatorProps>? onlineIndicator, StreamComponentBuilder<StreamPlaybackSpeedToggleProps>? playbackSpeedToggle, StreamComponentBuilder<StreamProgressBarProps>? progressBar, StreamComponentBuilder<StreamReactionPickerProps>? reactionPicker, StreamComponentBuilder<StreamReactionsProps>? reactions, StreamComponentBuilder<StreamRetryBadgeProps>? retryBadge, StreamComponentBuilder<StreamSheetHeaderProps>? sheetHeader, StreamComponentBuilder<StreamSkeletonLoadingProps>? skeletonLoading, StreamComponentBuilder<StreamSnackbarProps>? snackbar, StreamComponentBuilder<StreamStepperProps>? stepper, StreamComponentBuilder<StreamTextInputProps>? textInput, StreamComponentBuilder<StreamSwitchProps>? toggleSwitch, StreamComponentBuilder<StreamImageSourceBadgeProps>? imageSourceBadge, StreamComponentBuilder<StreamJumpToUnreadButtonProps>? jumpToUnreadButton, Iterable<StreamComponentBuilderExtension<Object>>? extensions})
Creates component builders with optional custom implementations.
factory
StreamComponentBuilders.raw({required StreamComponentBuilder<StreamAppBarProps>? appBar, required StreamComponentBuilder<StreamAvatarProps>? avatar, required StreamComponentBuilder<StreamBottomAppBarProps>? bottomAppBar, required StreamComponentBuilder<StreamAvatarGroupProps>? avatarGroup, required StreamComponentBuilder<StreamAvatarStackProps>? avatarStack, required StreamComponentBuilder<StreamBadgeCountProps>? badgeCount, required StreamComponentBuilder<StreamBadgeNotificationProps>? badgeNotification, required StreamComponentBuilder<StreamButtonProps>? button, required StreamComponentBuilder<StreamCheckboxProps>? checkbox, required StreamComponentBuilder<StreamCommandChipProps>? commandChip, required StreamComponentBuilder<StreamContextMenuActionProps<Object?>>? contextMenuAction, required StreamComponentBuilder<StreamEmojiProps>? emoji, required StreamComponentBuilder<StreamEmojiButtonProps>? emojiButton, required StreamComponentBuilder<StreamEmojiChipProps>? emojiChip, required StreamComponentBuilder<StreamEmojiChipBarProps<Object?>>? emojiChipBar, required StreamComponentBuilder<StreamErrorBadgeProps>? errorBadge, required StreamComponentBuilder<StreamFileTypeIconProps>? fileTypeIcon, required StreamComponentBuilder<StreamListTileProps>? listTile, required StreamComponentBuilder<StreamLoadingSpinnerProps>? loadingSpinner, required StreamComponentBuilder<StreamMediaViewerProps>? mediaViewer, required StreamComponentBuilder<StreamMessageAnnotationProps>? messageAnnotation, required StreamComponentBuilder<StreamMessageBubbleProps>? messageBubble, required StreamComponentBuilder<StreamMessageComposerAttachmentProps>? messageComposerAttachment, required StreamComponentBuilder<StreamMessageComposerEditMessageAttachmentProps>? messageComposerEditMessageAttachment, required StreamComponentBuilder<StreamMessageComposerFileAttachmentProps>? messageComposerFileAttachment, required StreamComponentBuilder<StreamMessageComposerLinkPreviewAttachmentProps>? messageComposerLinkPreviewAttachment, required StreamComponentBuilder<StreamMessageComposerMediaAttachmentProps>? messageComposerMediaAttachment, required StreamComponentBuilder<StreamMessageComposerReplyAttachmentProps>? messageComposerReplyAttachment, required StreamComponentBuilder<StreamMessageComposerUnsupportedAttachmentProps>? messageComposerUnsupportedAttachment, required StreamComponentBuilder<StreamMessageContentProps>? messageContent, required StreamComponentBuilder<StreamMessageMetadataProps>? messageMetadata, required StreamComponentBuilder<StreamMessageRepliesProps>? messageReplies, required StreamComponentBuilder<StreamMessageTextProps>? messageText, required StreamComponentBuilder<StreamNetworkImageProps>? networkImage, required StreamComponentBuilder<StreamOnlineIndicatorProps>? onlineIndicator, required StreamComponentBuilder<StreamPlaybackSpeedToggleProps>? playbackSpeedToggle, required StreamComponentBuilder<StreamProgressBarProps>? progressBar, required StreamComponentBuilder<StreamReactionPickerProps>? reactionPicker, required StreamComponentBuilder<StreamReactionsProps>? reactions, required StreamComponentBuilder<StreamRetryBadgeProps>? retryBadge, required StreamComponentBuilder<StreamSheetHeaderProps>? sheetHeader, required StreamComponentBuilder<StreamSkeletonLoadingProps>? skeletonLoading, required StreamComponentBuilder<StreamSnackbarProps>? snackbar, required StreamComponentBuilder<StreamStepperProps>? stepper, required StreamComponentBuilder<StreamTextInputProps>? textInput, required StreamComponentBuilder<StreamSwitchProps>? toggleSwitch, required StreamComponentBuilder<StreamImageSourceBadgeProps>? imageSourceBadge, required StreamComponentBuilder<StreamJumpToUnreadButtonProps>? jumpToUnreadButton, required Map<Object, StreamComponentBuilderExtension<Object>> extensions})
Creates component builders from a pre-built extensions map.
const

Properties

appBar StreamComponentBuilder<StreamAppBarProps>?
Custom builder for app bar widgets.
final
avatar StreamComponentBuilder<StreamAvatarProps>?
Custom builder for avatar widgets.
final
avatarGroup StreamComponentBuilder<StreamAvatarGroupProps>?
Custom builder for avatar group widgets.
final
avatarStack StreamComponentBuilder<StreamAvatarStackProps>?
Custom builder for avatar stack widgets.
final
badgeCount StreamComponentBuilder<StreamBadgeCountProps>?
Custom builder for badge count widgets.
final
badgeNotification StreamComponentBuilder<StreamBadgeNotificationProps>?
Custom builder for badge notification widgets.
final
bottomAppBar StreamComponentBuilder<StreamBottomAppBarProps>?
Custom builder for bottom app bar widgets.
final
button StreamComponentBuilder<StreamButtonProps>?
Custom builder for button widgets.
final
canMerge bool
no setterinherited
checkbox StreamComponentBuilder<StreamCheckboxProps>?
Custom builder for checkbox widgets.
final
commandChip StreamComponentBuilder<StreamCommandChipProps>?
Custom builder for command chip widgets.
final
contextMenuAction StreamComponentBuilder<StreamContextMenuActionProps<Object?>>?
Custom builder for context menu action widgets.
final
emoji StreamComponentBuilder<StreamEmojiProps>?
Custom builder for emoji widgets.
final
emojiButton StreamComponentBuilder<StreamEmojiButtonProps>?
Custom builder for emoji button widgets.
final
emojiChip StreamComponentBuilder<StreamEmojiChipProps>?
Custom builder for emoji chip widgets.
final
emojiChipBar StreamComponentBuilder<StreamEmojiChipBarProps<Object?>>?
Custom builder for emoji chip bar widgets.
final
errorBadge StreamComponentBuilder<StreamErrorBadgeProps>?
Custom builder for error badge widgets.
final
extensions Map<Object, StreamComponentBuilderExtension<Object>>
Arbitrary additions to this builder set.
final
fileTypeIcon StreamComponentBuilder<StreamFileTypeIconProps>?
Custom builder for file type icon widgets.
final
hashCode int
The hash code for this object.
no setterinherited
imageSourceBadge StreamComponentBuilder<StreamImageSourceBadgeProps>?
Custom builder for source badge widgets.
final
jumpToUnreadButton StreamComponentBuilder<StreamJumpToUnreadButtonProps>?
Custom builder for jump-to-unread button widgets.
final
listTile StreamComponentBuilder<StreamListTileProps>?
Custom builder for list tile widgets.
final
loadingSpinner StreamComponentBuilder<StreamLoadingSpinnerProps>?
Custom builder for loading spinner widgets.
final
mediaViewer StreamComponentBuilder<StreamMediaViewerProps>?
Custom builder for media viewer widgets.
final
messageAnnotation StreamComponentBuilder<StreamMessageAnnotationProps>?
Custom builder for message annotation widgets.
final
messageBubble StreamComponentBuilder<StreamMessageBubbleProps>?
Custom builder for message bubble widgets.
final
messageComposerAttachment StreamComponentBuilder<StreamMessageComposerAttachmentProps>?
Custom builder for composer attachment container widgets.
final
messageComposerEditMessageAttachment StreamComponentBuilder<StreamMessageComposerEditMessageAttachmentProps>?
Custom builder for composer edit-message preview attachment widgets.
final
messageComposerFileAttachment StreamComponentBuilder<StreamMessageComposerFileAttachmentProps>?
Custom builder for composer file attachment widgets.
final
messageComposerLinkPreviewAttachment StreamComponentBuilder<StreamMessageComposerLinkPreviewAttachmentProps>?
Custom builder for composer link preview attachment widgets.
final
messageComposerMediaAttachment StreamComponentBuilder<StreamMessageComposerMediaAttachmentProps>?
Custom builder for composer media (image/video) attachment widgets.
final
messageComposerReplyAttachment StreamComponentBuilder<StreamMessageComposerReplyAttachmentProps>?
Custom builder for composer reply preview attachment widgets.
final
messageComposerUnsupportedAttachment StreamComponentBuilder<StreamMessageComposerUnsupportedAttachmentProps>?
Custom builder for composer unsupported-attachment placeholder widgets.
final
messageContent StreamComponentBuilder<StreamMessageContentProps>?
Custom builder for message content layout widgets.
final
messageMetadata StreamComponentBuilder<StreamMessageMetadataProps>?
Custom builder for message metadata widgets.
final
messageReplies StreamComponentBuilder<StreamMessageRepliesProps>?
Custom builder for message replies widgets.
final
messageText StreamComponentBuilder<StreamMessageTextProps>?
Custom builder for message text (markdown) widgets.
final
networkImage StreamComponentBuilder<StreamNetworkImageProps>?
Custom builder for network image widgets.
final
onlineIndicator StreamComponentBuilder<StreamOnlineIndicatorProps>?
Custom builder for online indicator widgets.
final
playbackSpeedToggle StreamComponentBuilder<StreamPlaybackSpeedToggleProps>?
Custom builder for playback speed toggle widgets.
final
progressBar StreamComponentBuilder<StreamProgressBarProps>?
Custom builder for progress bar widgets.
final
reactionPicker StreamComponentBuilder<StreamReactionPickerProps>?
Custom builder for reaction picker widgets.
final
reactions StreamComponentBuilder<StreamReactionsProps>?
Custom builder for reaction widgets.
final
retryBadge StreamComponentBuilder<StreamRetryBadgeProps>?
Custom builder for retry badge widgets.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sheetHeader StreamComponentBuilder<StreamSheetHeaderProps>?
Custom builder for sheet header widgets.
final
skeletonLoading StreamComponentBuilder<StreamSkeletonLoadingProps>?
Custom builder for skeleton loading shimmer widgets.
final
snackbar StreamComponentBuilder<StreamSnackbarProps>?
Custom builder for snackbar widgets.
final
stepper StreamComponentBuilder<StreamStepperProps>?
Custom builder for stepper widgets.
final
textInput StreamComponentBuilder<StreamTextInputProps>?
Custom builder for text input widgets.
final
toggleSwitch StreamComponentBuilder<StreamSwitchProps>?
Custom builder for switch widgets.
final

Methods

copyWith({Map<Object, StreamComponentBuilderExtension<Object>>? extensions, Widget appBar(BuildContext, StreamAppBarProps)?, Widget avatar(BuildContext, StreamAvatarProps)?, Widget bottomAppBar(BuildContext, StreamBottomAppBarProps)?, Widget avatarGroup(BuildContext, StreamAvatarGroupProps)?, Widget avatarStack(BuildContext, StreamAvatarStackProps)?, Widget badgeCount(BuildContext, StreamBadgeCountProps)?, Widget badgeNotification(BuildContext, StreamBadgeNotificationProps)?, Widget button(BuildContext, StreamButtonProps)?, Widget checkbox(BuildContext, StreamCheckboxProps)?, Widget commandChip(BuildContext, StreamCommandChipProps)?, Widget contextMenuAction(BuildContext, StreamContextMenuActionProps<Object?>)?, Widget emoji(BuildContext, StreamEmojiProps)?, Widget emojiButton(BuildContext, StreamEmojiButtonProps)?, Widget emojiChip(BuildContext, StreamEmojiChipProps)?, Widget emojiChipBar(BuildContext, StreamEmojiChipBarProps<Object?>)?, Widget errorBadge(BuildContext, StreamErrorBadgeProps)?, Widget fileTypeIcon(BuildContext, StreamFileTypeIconProps)?, Widget listTile(BuildContext, StreamListTileProps)?, Widget loadingSpinner(BuildContext, StreamLoadingSpinnerProps)?, Widget mediaViewer(BuildContext, StreamMediaViewerProps)?, Widget messageAnnotation(BuildContext, StreamMessageAnnotationProps)?, Widget messageBubble(BuildContext, StreamMessageBubbleProps)?, Widget messageComposerAttachment(BuildContext, StreamMessageComposerAttachmentProps)?, Widget messageComposerEditMessageAttachment(BuildContext, StreamMessageComposerEditMessageAttachmentProps)?, Widget messageComposerFileAttachment(BuildContext, StreamMessageComposerFileAttachmentProps)?, Widget messageComposerLinkPreviewAttachment(BuildContext, StreamMessageComposerLinkPreviewAttachmentProps)?, Widget messageComposerMediaAttachment(BuildContext, StreamMessageComposerMediaAttachmentProps)?, Widget messageComposerReplyAttachment(BuildContext, StreamMessageComposerReplyAttachmentProps)?, Widget messageComposerUnsupportedAttachment(BuildContext, StreamMessageComposerUnsupportedAttachmentProps)?, Widget messageContent(BuildContext, StreamMessageContentProps)?, Widget messageMetadata(BuildContext, StreamMessageMetadataProps)?, Widget messageReplies(BuildContext, StreamMessageRepliesProps)?, Widget messageText(BuildContext, StreamMessageTextProps)?, Widget networkImage(BuildContext, StreamNetworkImageProps)?, Widget onlineIndicator(BuildContext, StreamOnlineIndicatorProps)?, Widget playbackSpeedToggle(BuildContext, StreamPlaybackSpeedToggleProps)?, Widget progressBar(BuildContext, StreamProgressBarProps)?, Widget reactionPicker(BuildContext, StreamReactionPickerProps)?, Widget reactions(BuildContext, StreamReactionsProps)?, Widget retryBadge(BuildContext, StreamRetryBadgeProps)?, Widget sheetHeader(BuildContext, StreamSheetHeaderProps)?, Widget skeletonLoading(BuildContext, StreamSkeletonLoadingProps)?, Widget snackbar(BuildContext, StreamSnackbarProps)?, Widget stepper(BuildContext, StreamStepperProps)?, Widget textInput(BuildContext, StreamTextInputProps)?, Widget toggleSwitch(BuildContext, StreamSwitchProps)?, Widget imageSourceBadge(BuildContext, StreamImageSourceBadgeProps)?, Widget jumpToUnreadButton(BuildContext, StreamJumpToUnreadButtonProps)?}) StreamComponentBuilders
inherited
extension<T>() StreamComponentBuilder<T>?
Used to obtain a StreamComponentBuilder from extensions.
merge(StreamComponentBuilders? other) StreamComponentBuilders
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited