core library

Core UI primitives shared across all Stream products.

Import this barrel from any Stream SDK (chat, video, feeds, ...) that needs the shared design-system widgets, theme tokens, or component factory without pulling in chat-specific code.

For chat-only widgets (message bubble, composer attachments, reactions, etc.) use package:stream_core_flutter/chat.dart instead.

Classes

DefaultStreamAppBar
The default implementation of StreamAppBar.
DefaultStreamAvatar
The default implementation of StreamAvatar.
DefaultStreamAvatarGroup
The default implementation of StreamAvatarGroup.
DefaultStreamAvatarStack
The default implementation of StreamAvatarStack.
DefaultStreamBadgeCount
The default implementation of StreamBadgeCount.
DefaultStreamBadgeNotification
The default implementation of StreamBadgeNotification.
DefaultStreamBottomAppBar
The default implementation of StreamBottomAppBar.
DefaultStreamButton
Default implementation of StreamButton.
DefaultStreamCheckbox
Default implementation of StreamCheckbox.
DefaultStreamContextMenuAction<T>
Default implementation of StreamContextMenuAction.
DefaultStreamEmoji
The default implementation of StreamEmoji.
DefaultStreamEmojiButton
Default implementation of StreamEmojiButton.
DefaultStreamEmojiChip
Default implementation of StreamEmojiChip.
DefaultStreamEmojiChipBar<T>
Default implementation of StreamEmojiChipBar.
DefaultStreamErrorBadge
The default implementation of StreamErrorBadge.
DefaultStreamFileTypeIcon
The default implementation of StreamFileTypeIcon.
DefaultStreamImageSourceBadge
The default implementation of StreamImageSourceBadge.
DefaultStreamListTile
The default implementation of StreamListTile.
DefaultStreamLoadingSpinner
Default implementation of StreamLoadingSpinner.
DefaultStreamMediaViewer
The default implementation of StreamMediaViewer.
DefaultStreamNetworkImage
The default implementation of StreamNetworkImage.
DefaultStreamOnlineIndicator
The default implementation of StreamOnlineIndicator.
DefaultStreamPlaybackSpeedToggle
Default implementation of StreamPlaybackSpeedToggle.
DefaultStreamProgressBar
Default implementation of StreamProgressBar.
DefaultStreamRetryBadge
The default implementation of StreamRetryBadge.
DefaultStreamSheetHeader
The default implementation of StreamSheetHeader.
DefaultStreamSkeletonLoading
Default implementation of StreamSkeletonLoading.
DefaultStreamSnackbar
The default implementation of StreamSnackbar.
DefaultStreamStepper
Default implementation of StreamStepper.
DefaultStreamSwitch
Default implementation of StreamSwitch.
DefaultStreamTextInput
Default implementation of StreamTextInput.
HorizontalSlider
A widget that allows interactive horizontal sliding gestures.
NullableBuilder
A convenience NullableStatelessWidget that takes a builder function.
NullableState<T extends NullableStatefulWidget>
The State for a NullableStatefulWidget.
NullableStatefulWidget
A widget that has mutable state and whose NullableState.nullableBuild may return null.
NullableStatelessWidget
A StatelessWidget whose nullableBuild may return null.
StreamAppBar
A top-of-screen header for full-page surfaces in the Stream design system.
StreamAppBarProps
Properties for configuring a StreamAppBar.
StreamAppBarStyle
Visual styling properties for a StreamAppBar.
StreamAppBarTheme
Applies an app bar theme to descendant StreamAppBar widgets.
StreamAppBarThemeData
Theme data for customizing StreamAppBar widgets.
StreamAudioWaveform
A widget that displays an audio waveform.
StreamAudioWaveformSlider
A widget that displays an audio waveform and allows the user to interact with it using a slider.
StreamAudioWaveformSliderThumb
A widget that represents the thumb of the StreamAudioWaveformSlider.
StreamAudioWaveformTheme
Applies an audio waveform theme to descendant StreamAudioWaveform and StreamAudioWaveformSlider widgets.
StreamAudioWaveformThemeData
Theme data for customizing StreamAudioWaveform and StreamAudioWaveformSlider widgets.
StreamAvatar
A circular avatar component for the Stream design system.
StreamAvatarColorPair
A background/foreground color pair for avatars.
StreamAvatarGroup
A widget that displays multiple avatars in a grid layout.
StreamAvatarGroupProps
Properties for configuring a StreamAvatarGroup.
StreamAvatarProps
Properties for configuring a StreamAvatar.
StreamAvatarStack
A widget that displays a stack of StreamAvatar widgets with overlap.
StreamAvatarStackProps
Properties for configuring a StreamAvatarStack.
StreamAvatarTheme
Applies an avatar theme to descendant StreamAvatar widgets.
StreamAvatarThemeData
Theme data for customizing StreamAvatar widgets.
StreamBadgeCount
A badge component for displaying counts or labels.
StreamBadgeCountProps
Properties for configuring a StreamBadgeCount.
StreamBadgeCountTheme
Applies a badge count theme to descendant StreamBadgeCount widgets.
StreamBadgeCountThemeData
Theme data for customizing StreamBadgeCount widgets.
StreamBadgeNotification
A notification badge for displaying counts in colored pill shapes.
StreamBadgeNotificationProps
Properties for configuring a StreamBadgeNotification.
StreamBadgeNotificationTheme
Applies a badge notification theme to descendant widgets.
StreamBadgeNotificationThemeData
Theme data for customizing StreamBadgeNotification widgets.
StreamBottomAppBar
A bottom-of-screen toolbar for full-page surfaces in the Stream design system.
StreamBottomAppBarProps
Properties for configuring a StreamBottomAppBar.
StreamBottomAppBarStyle
Visual styling properties for a StreamBottomAppBar.
StreamBottomAppBarTheme
Applies a bottom app bar theme to descendant StreamBottomAppBar widgets.
StreamBottomAppBarThemeData
Theme data for customizing StreamBottomAppBar widgets.
StreamBoxShadow
Box shadow tokens for the Stream design system.
StreamBrandColor
The brand color swatch for the Stream design system.
StreamButton
A versatile button with support for multiple styles, types, and sizes.
StreamButtonProps
Properties for configuring a StreamButton.
StreamButtonTheme
Applies a button theme to descendant StreamButton widgets.
StreamButtonThemeData
Theme data for customizing StreamButton widgets.
StreamButtonThemeStyle
Visual styling properties for a single button style/type combination.
StreamButtonTypeStyle
Organizes button theme styles by StreamButtonType variant.
StreamCheckbox
A checkbox styled for the Stream design system.
StreamCheckboxProps
Properties for configuring a StreamCheckbox.
StreamCheckboxStyle
Visual styling properties for checkboxes.
StreamCheckboxTheme
Applies a checkbox theme to descendant StreamCheckbox widgets.
StreamCheckboxThemeData
Theme data for customizing StreamCheckbox widgets.
StreamChromeColor
The chrome (neutral) color swatch for the Stream design system.
StreamColors
Color and ColorSwatch constants for the Stream design system.
StreamColorScheme
A color scheme for the Stream design system.
StreamColorSwatch
A color swatch with multiple shades of a single color.
StreamColumn
A widget that displays its children in a vertical array, supporting negative spacing and collapsed (nullable) children.
StreamComponentBuilderExtension<T>
A typed builder extension for StreamComponentBuilders.
StreamComponentBuilders
A collection of builders for customizing Stream component rendering.
StreamComponentFactory
Provides component builders to descendant Stream widgets.
StreamContextMenu
A contextual menu container that displays a list of menu items.
StreamContextMenuAction<T>
A single action row in a StreamContextMenu.
StreamContextMenuActionProps<T extends Object?>
Properties for configuring a StreamContextMenuAction.
StreamContextMenuActionStyle
Visual styling properties for context menu actions.
StreamContextMenuActionTheme
Applies a context menu action theme to descendant context menu action widgets.
StreamContextMenuActionThemeData
Theme data for customizing context menu actions.
StreamContextMenuSeparator
A visual separator between groups of items in a StreamContextMenu.
StreamContextMenuStyle
Visual styling properties for the context menu container.
StreamContextMenuTheme
Applies a context menu theme to descendant context menu widgets.
StreamContextMenuThemeData
Theme data for customizing context menus.
StreamEmoji
An emoji component for the Stream design system.
StreamEmojiButton
A tappable circular button that displays an emoji or icon.
StreamEmojiButtonProps
Properties for configuring a StreamEmojiButton.
StreamEmojiButtonTheme
Applies an emoji button theme to descendant emoji button widgets.
StreamEmojiButtonThemeData
Theme data for customizing emoji button widgets.
StreamEmojiButtonThemeStyle
Visual styling properties for emoji buttons.
StreamEmojiChip
A pill-shaped chip for displaying emoji reactions with an optional count.
StreamEmojiChipBar<T>
A horizontally scrollable bar of StreamEmojiChips for filtering by reaction type.
StreamEmojiChipBarProps<T extends Object?>
Properties for configuring a StreamEmojiChipBar.
StreamEmojiChipItem<T>
A single item in a StreamEmojiChipBar.
StreamEmojiChipProps
Properties for configuring a StreamEmojiChip.
StreamEmojiChipTheme
Applies an emoji chip theme to descendant emoji chip widgets.
StreamEmojiChipThemeData
Theme data for customizing emoji chip widgets.
StreamEmojiChipThemeStyle
Visual styling properties for emoji chips.
StreamEmojiContent
The content model for an emoji rendered by StreamEmoji.
StreamEmojiData
A data class representing a single emoji entry.
StreamEmojiPickerSheet
A scrollable sheet that displays a curated set of emojis in a flat grid.
StreamEmojiProps
Properties for configuring a StreamEmoji.
StreamErrorBadge
A circular error badge that displays an exclamation mark icon.
StreamErrorBadgeProps
Properties for configuring a StreamErrorBadge.
StreamFileTypeIcon
An icon widget displaying file type with optional extension label.
StreamFileTypeIconProps
Properties for configuring a StreamFileTypeIcon.
StreamFlex
A widget that displays its children in a one-dimensional array, supporting negative spacing and collapsed (nullable) children.
StreamFontSize
Platform-aware font size scale.
StreamFontWeight
Font weight values for text.
StreamHelperText
Animated helper text with icon, driven by StreamHelperState.
StreamIconData
Identifiers for the icons.
StreamIcons
Provides customizable icons for the Stream design system.
StreamImageEmoji
A custom image emoji loaded from a URL.
StreamImageErrorPlaceholder
An error placeholder for image-sized areas.
StreamImageLoadingPlaceholder
A loading placeholder for image-sized areas.
StreamImageSourceBadge
A pill-shaped overlay badge that identifies the source of content.
StreamImageSourceBadgeProps
Properties for configuring a StreamImageSourceBadge.
StreamIntrinsicBoundedCrossAxis
Marks a child of StreamIntrinsicFlex to be measured under the parent's cross-axis ceiling instead of unbounded constraints.
StreamIntrinsicColumn
A widget that displays its children in a vertical array, shrink-wrapping its width to the widest child.
StreamIntrinsicFlex
A widget that displays its children in a one-dimensional array, shrink-wrapping its cross-axis to the widest (or tallest) child.
StreamIntrinsicRow
A widget that displays its children in a horizontal array, shrink-wrapping its height to the tallest child.
StreamIntrinsicSizeCandidate
Marks a child of StreamIntrinsicFlex as a cross-axis size candidate.
StreamLineHeight
Line height values for text.
StreamListTile
A single fixed-height row inspired by Flutter's ListTile, adapted for the Stream design system.
StreamListTileContainer
The container for a StreamListTile that provides background, shape, ink effects, semantics, and content padding.
StreamListTileProps
Properties for configuring a StreamListTile.
StreamListTileTheme
Applies a list tile theme to descendant StreamListTile widgets.
StreamListTileThemeData
Theme data for customizing StreamListTile widgets.
StreamLoadingSpinner
A circular progress indicator styled for the Stream design system.
StreamLoadingSpinnerProps
Properties for configuring a StreamLoadingSpinner.
StreamMediaBadge
StreamMediaViewer
A full-screen surface for browsing media (images, videos, etc.).
StreamMediaViewerProps
Properties for configuring a StreamMediaViewer.
StreamMediaViewerTheme
Applies a media viewer theme to descendant StreamMediaViewers.
StreamMediaViewerThemeData
Visual styling properties for StreamMediaViewer.
StreamNetworkImage
A network image component with automatic caching, error handling, and tap-to-reload support.
StreamNetworkImageProps
Properties for configuring a StreamNetworkImage.
StreamOnlineIndicator
A circular indicator showing online/offline presence status.
StreamOnlineIndicatorProps
Properties for configuring a StreamOnlineIndicator.
StreamOnlineIndicatorTheme
Applies an online indicator theme to descendant StreamOnlineIndicator widgets.
StreamOnlineIndicatorThemeData
Theme data for customizing StreamOnlineIndicator widgets.
StreamPlaybackSpeedToggle
A pill-shaped toggle button for displaying and cycling playback speed.
StreamPlaybackSpeedToggleProps
Properties for configuring a StreamPlaybackSpeedToggle.
StreamPlaybackSpeedToggleStyle
Visual styling properties for a StreamPlaybackSpeedToggle.
StreamPlaybackSpeedToggleTheme
Applies a playback speed toggle theme to descendant widgets.
StreamPlaybackSpeedToggleThemeData
Theme data for customizing playback speed toggle widgets.
StreamProgressBar
A linear progress indicator styled for the Stream design system.
StreamProgressBarProps
Properties for configuring a StreamProgressBar.
StreamProgressBarStyle
Visual styling properties for progress bars.
StreamProgressBarTheme
Applies a progress bar theme to descendant StreamProgressBar widgets.
StreamProgressBarThemeData
Theme data for customizing StreamProgressBar widgets.
StreamRadius
Border radius primitives for the Stream design system.
StreamRemoveControl
A small circular "remove" badge typically overlaid on top of an attachment preview.
StreamRetryBadge
A circular retry badge that displays a clockwise arrow icon.
StreamRetryBadgeProps
Properties for configuring a StreamRetryBadge.
StreamRow
A widget that displays its children in a horizontal array, supporting negative spacing and collapsed (nullable) children.
StreamSheet
The visual chrome of a Stream-styled sheet.
StreamSheetDragHandle
The visual drag handle drawn at the top of a Stream-styled sheet.
StreamSheetHeader
A header for bottom sheets, modals, and dialogs in the Stream design system.
StreamSheetHeaderProps
Properties for configuring a StreamSheetHeader.
StreamSheetHeaderStyle
Visual styling properties for a StreamSheetHeader.
StreamSheetHeaderTheme
Applies a sheet header theme to descendant StreamSheetHeader widgets.
StreamSheetHeaderThemeData
Theme data for customizing StreamSheetHeader widgets.
StreamSheetRoute<T>
Modal route for a Stream-styled sheet.
StreamSheetTheme
Applies a sheet theme to descendant StreamSheet widgets and StreamSheetDragHandles.
StreamSheetThemeData
Defines default property values for StreamSheet (and modal sheets opened via showStreamSheet).
StreamSheetTransition
Slide-up transition used by StreamSheetRoute.
StreamSkeletonBox
A simple shaped placeholder box intended for use inside a StreamSkeletonLoading.
StreamSkeletonLoading
A skeleton shimmer loading component.
StreamSkeletonLoadingProps
Properties for configuring a StreamSkeletonLoading.
StreamSkeletonLoadingTheme
Applies a skeleton loading theme to descendant StreamSkeletonLoading widgets.
StreamSkeletonLoadingThemeData
Theme data for customizing StreamSkeletonLoading widgets.
StreamSnackbar
A transient, pill-shaped feedback container.
StreamSnackbarAction
An action button rendered at the trailing end of a StreamSnackbar.
StreamSnackbarController
Handle to a snackbar that has been enqueued or is currently visible.
StreamSnackbarHost
An inline render slot for snackbars from a StreamSnackbarMessenger.
StreamSnackbarMessenger
Imperative owner of a snackbar queue.
StreamSnackbarPopup
An anchored render slot that floats snackbars next to a child.
StreamSnackbarProps
Properties for configuring a StreamSnackbar.
StreamSnackbarScope
Wraps a subtree with a managed StreamSnackbarMessenger and renders the current snackbar at the bottom of itself.
StreamSnackbarStyle
Visual styling properties for a StreamSnackbar.
StreamSnackbarTheme
Applies a snackbar theme to descendant StreamSnackbar widgets.
StreamSnackbarThemeData
Theme data for customizing StreamSnackbar widgets.
StreamSpacing
Spacing primitives for the Stream design system.
StreamStepper
A numeric stepper control styled for the Stream design system.
StreamStepperProps
Properties for configuring a StreamStepper.
StreamStepperStyle
Visual styling properties for StreamStepper.
StreamStepperTheme
Applies a stepper theme to descendant StreamStepper widgets.
StreamStepperThemeData
Theme data for customizing StreamStepper widgets.
StreamSvgIconData
Colored SVG icon data constants.
StreamSwitch
A switch styled for the Stream design system.
StreamSwitchProps
Properties for configuring a StreamSwitch.
StreamSwitchStyle
Visual styling properties for switches.
StreamSwitchTheme
Applies a switch theme to descendant StreamSwitch widgets.
StreamSwitchThemeData
Theme data for customizing StreamSwitch widgets.
StreamTapTargetPadding
A widget that enlarges the tap target around its child to at least minSize, without changing the child's own size, position, or visual appearance.
StreamTextInput
A text input styled for the Stream design system.
StreamTextInputProps
Properties for configuring a StreamTextInput.
StreamTextInputStyle
Visual styling properties for StreamTextInput.
StreamTextInputTheme
Applies a text input theme to descendant StreamTextInput widgets.
StreamTextInputThemeData
Theme data for customizing StreamTextInput widgets.
StreamTextTheme
Semantic text theme for the Stream design system.
StreamTheme
The main theme configuration for Stream design system.
StreamToolbar
Three-slot horizontal layout shared by StreamAppBar, StreamBottomAppBar, and StreamSheetHeader.
StreamTypography
Typography primitives for the Stream design system.
StreamUnicodeEmoji
A native Unicode emoji character (e.g. '👍').
StreamVideoPlayIndicator
A circular play/pause indicator for video content.
SvgIcon
A icon widget drawn from a provided SVG asset described in an SvgIconData.
SvgIconData
A description of an svg icon.
SvgIconDataProperty
DiagnosticsProperty that has an SvgIconData as value.

Enums

MediaBadgeDurationFormat
Controls how a duration value is formatted inside StreamMediaBadge.
MediaBadgeType
StreamAvatarGroupSize
Predefined avatar group sizes.
StreamAvatarSize
Predefined avatar sizes for the Stream design system.
StreamAvatarStackSize
Predefined avatar stack sizes.
StreamBadgeCountSize
Predefined sizes for the badge count indicator.
StreamBadgeNotificationSize
Predefined sizes for the badge notification indicator.
StreamBadgeNotificationType
The visual type of a StreamBadgeNotification.
StreamButtonSize
Predefined sizes for StreamButton.
StreamButtonStyle
The color scheme variant for a StreamButton.
StreamButtonType
The visual weight variant for a StreamButton.
StreamCheckboxSize
Predefined sizes for StreamCheckbox.
StreamEmojiButtonSize
Predefined sizes for the emoji button.
StreamEmojiSize
Predefined sizes for emoji display.
StreamErrorBadgeSize
Predefined sizes for StreamErrorBadge.
StreamFileType
Supported file types for the file type icon.
StreamFileTypeIconSize
Predefined sizes for the file type icon.
StreamHelperState
The state of helper text, driving the icon and color.
StreamLoadingSpinnerSize
Predefined sizes for StreamLoadingSpinner.
StreamOnlineIndicatorSize
Predefined sizes for the online indicator.
StreamPlaybackSpeed
Predefined playback speed values for StreamPlaybackSpeedToggle.
StreamRetryBadgeSize
Predefined sizes for StreamRetryBadge.
StreamSnackbarClosedReason
The reason a StreamSnackbar was closed.
StreamSnackbarPopupPlacement
Where the snackbar is positioned relative to its StreamSnackbarPopup anchor.
StreamSnackbarVariant
Variants of StreamSnackbar.
StreamVideoPlayIndicatorSize
Predefined sizes for StreamVideoPlayIndicator.
StreamVisibility
Controls the visibility and layout participation of a widget slot.

Mixins

WidgetStateUtils
Utility methods for building WidgetStateProperty values from simple parameters.

Extensions

StreamComponentFactoryExtension on BuildContext
Extension on BuildContext for convenient access to StreamComponentBuilders.
StreamThemeExtension on BuildContext
Extension on BuildContext for convenient access to StreamTheme.

Constants

kStreamToolbarHeight → const double
Default height of StreamAppBar, StreamBottomAppBar, and StreamSheetHeader per the Stream design system.
streamSupportedEmojis → const Map<String, StreamEmojiData>
A curated map of commonly used emojis, keyed by short name.

Functions

showStreamSheet<T>({required BuildContext context, required StreamSheetScrollableWidgetBuilder builder, Color? backgroundColor, Color? barrierColor, String? barrierLabel, ShapeBorder? shape, BorderRadiusGeometry? borderRadius, BoxConstraints? constraints, double? elevation, Clip? clipBehavior, bool enableDrag = true, bool isDismissible = false, bool? showDragHandle, bool useNestedNavigation = false, bool useRootNavigator = false, bool? requestFocus, Offset? anchorPoint, StreamSheetDragStartCallback? onDragStart, StreamSheetDragEndCallback? onDragEnd, RouteSettings? settings}) Future<T?>
Shows a Stream-styled modal sheet that slides up from the bottom of the screen.

Typedefs

StreamComponentBuilder<T> = Widget Function(BuildContext context, T props)
A function type that builds a widget from a BuildContext and typed props.
StreamNetworkImageErrorBuilder = Widget Function(BuildContext context, Object error, VoidCallback? retry)
Signature for a function that builds an error widget when a StreamNetworkImage fails to load.
StreamNetworkImagePlaceholderBuilder = WidgetBuilder
Signature for a function that builds a placeholder widget while a StreamNetworkImage is loading.
StreamSheetDragEndCallback = void Function(DragEndDetails details, {required bool isClosing})
Called when the user stops dragging a StreamSheetRoute.
StreamSheetDragStartCallback = void Function(DragStartDetails details)
Called when the user begins dragging a StreamSheetRoute.
StreamSheetScrollableWidgetBuilder = Widget Function(BuildContext context, ScrollController scrollController)
Signature for a builder that takes a BuildContext and a ScrollController to build a scrollable widget inside a StreamSheetRoute.