components library

Classes

UiActionGroupGeometry
Solved size and child slots for one action-group frame.
UiActionGroupGeometryItem
Minimal input item for testing the geometry engine without widgets.
UiActionGroupGeometrySlot
Solved physical placement for one action-group slot.
UiActionGroupGeometrySolver
Geometry-first layout engine used by the smart action renderers.
UiAdaptiveSheetScope
Presents focused content as a bottom sheet on phones and a constrained floating surface on tablet/desktop.
UiAlert
Inline alert banner.
UiAlertDialog
A single modal alert — shadcn's AlertDialog ported.
UiAlertDialogScope
Imperative helpers for presenting UiAlertDialog.
UiAttachment
A media attachment with metadata and deterministic transfer state.
UiAttachmentGroup
Horizontally browsable attachment collection with compact spacing.
UiAvatar
Token-driven avatar primitive.
UiAvatarEntry
UiAvatarGroup
Stacked avatar group primitive.
UiBadge
Compact label surface for statuses and counts.
UiBottomTabAccessory
A contextual control that sits beside a floating bottom tab dock.
UiBottomTabBar
UiBottomTabItem
One slot in a UiBottomTabBar.
UiBottomTabRailConfig
UiBottomTabScaffold
Page shell with a UiBottomTabBar and per-tab state preservation.
UiBubble
The visual message surface. Sender identity, metadata, and row alignment belong to UiMessage.
UiBubbleGroup
UiButton
Token-driven labeled action button.
UiButtonMetrics
Shared sizing ratios used by UiButton and any other trigger-shaped surface (selects, menu triggers, etc.).
UiCalendarEvent
A dated event rendered by Open UI calendar components.
UiCalendarTimeGrid
Token-driven, platform-neutral calendar time grid.
UiCard
Neutral card surface.
UiCardHeader
Convenience header cell with title + optional subtitle/trailing.
UiCardSkeleton
Card-shaped loading placeholder.
UiCheckbox
UiCombobox<T>
Searchable select for larger option sets.
UiCompactChoiceFilter<T>
A compact choice control whose resting surface becomes its floating menu.
UiConfirmActionGroup
Two-button confirmation group with coordinated width and label morphs.
UiDataColumn
UiDataRow
UiDataTable
UiDatePicker
Month-grid calendar with forward/back navigation and direct month/year selection.
UiDateRange
Inclusive date range.
UiDateRangePicker
Two-step date range picker.
UiDateTimePicker
Combined date + time picker. Emits a single DateTime on change.
UiDateTimeRange
Inclusive date-time range.
UiDateTimeRangePicker
Composite picker for a date range and a time range. Emits a UiDateTimeRange whose start uses the range's first date + start time, and whose end uses the last date + end time.
UiDialog
Modal dialog surface.
UiDialogScope
Imperative helpers for showing a UiDialog.
UiDrawer
Drawer content wrapper. Usually presented by UiDrawerScope.show.
UiDrawerController<T>
Controls an open modal drawer.
UiDrawerFooter
Standard padded footer content for a structured UiDrawer.
UiDrawerHeader
Standard header content for a structured UiDrawer.
UiDrawerNavigator
Accessor for the drawer stack owned by the current modal drawer route.
UiDrawerScope
Imperative helpers for showing a UiDrawer overlay.
UiDrawerSection
Labelled group for use inside the structured drawer body.
UiDrawerStackController
Controls the nested stack inside a single modal drawer route.
UiDropdownMenu
Dropdown menu surface + trigger.
UiEmptyState
Placeholder shown when a view has no data.
UiErrorState
Placeholder shown when loading failed.
UiFilterChip
Selectable chip for compact filters and option toggles.
UiFormatAction
UiFormattedText
Renders lightweight, operator-based rich text while preserving plain source.
UiFormattedTextController
A controller that previews formatting without hiding its source operators.
UiFormattedTextMatch
UiFormattedTextParser
Stateless parser shared by display text and composing controllers.
UiFormattedTextRule
A delimiter pair and the visual treatment of the text it encloses.
UiFormatToolbar
Horizontally scrolling formatting actions sized for native touch targets.
UiIconButton
Icon-only button primitive.
UiInput
Text input component.
UiInputState
UiIntentPalette
Rest-state colors shared by intent-aware surfaces.
UiLoadingState
Placeholder shown while data is loading.
UiMarker
UiMediaPreview
Generic media surface with an image and a centered fallback.
UiMenuGroup
Labelled cluster of items; renders an optional caption + items.
UiMenuItem
Single actionable row in the menu.
UiMenuNode
Base type for anything that can appear in a UiDropdownMenu.
UiMenuSeparator
Horizontal separator between groups/items.
UiMenuShortcut
Shortcut display widget (kept alongside items, not an item itself).
UiMenuSubmenu
Long-press / hover submenu. Rendered inline as a row that opens a nested menu on tap.
UiMessage
A conversation row that owns identity, alignment, metadata, and actions.
UiMessageGroup
UiMessageQueueBadge
Compact count displayed over the live-edge control for queued arrivals.
UiMessageReplyReturnButton
Returns to a message whose quoted reply was followed elsewhere.
UiMessageScrollControls
Animated conversation scroll controls inspired by compact messaging UIs.
UiMessageScroller
A chat viewport that follows new content only while the reader is at the live edge and preserves their position when older items are prepended.
UiMessageScrollerController
Imperative access to a UiMessageScroller's live-edge state.
UiMessageScrollerItem
UiMessageScrollToBottomButton
Circular control that returns a conversation to its live edge.
UiMessageUtilityAction
UiMessageUtilityStrip
A compact, keyboard-dock-friendly command surface for selected messages.
UiNavigationCountBadge
Standard numeric badge used by navigation surfaces.
UiNavigationDrawer
Navigation-specific drawer composition with the same region model as UiNavigationRail: primary destinations in the body and persistent actions/destinations in the footer.
UiNavigationDrawerAction
Non-selectable command rendered by UiNavigationDrawer.
UiNavigationDrawerDestination
Selectable destination rendered by UiNavigationDrawer.
UiNavigationRail
Floating navigation rail for tablet/desktop shells.
UiNavigationRailAction
UiNavigationRailAvatar
UiNavigationRailDestination
UiNavigationRailGeometry
Size and spacing configuration for UiNavigationRail.
UiPagination
UiPersistentSheet
A non-modal, persistent bottom sheet that keeps the host body visible and interactive — the design used by Apple Maps / Google Maps filter panels and modern search sheets.
UiPersistentSheetController
Controls a UiPersistentSheet. Exposes imperative snap navigation and observes snap changes via ChangeNotifier.
UiRadio<T>
UiRadioGroup<T>
Controlled, accessible group of radio options.
UiRadioGroupOption<T>
One selectable item rendered by UiRadioGroup.
UiRefresher
Pull-to-refresh behavior for any vertical, non-reversed Scrollable.
UiRefresherController
Imperative companion for UiRefresher.
UiRefreshIndicator
Token-driven default indicator used by both refresher variants.
UiRefreshIndicatorDetails
Immutable input passed to a UiRefreshIndicatorBuilder.
UiResponsiveNavigationScaffold
Navigation shell that picks a different chrome strategy per breakpoint.
UiSelect<T>
Generic dropdown select.
UiSelectOption<T>
Single item in a UiSelect.
UiSelectState<T>
UiSheet
Canonical sheet surface — use directly inside UiSheetScope.show or drop into a route body for non-modal presentations.
UiSheetBody
Semantic wrapper used when sheet body is split across helpers.
UiSheetController<T>
Controls an open sheet. Exposed via UiSheetScope.show so callers can dismiss the sheet from inside the sheet body.
UiSheetFooter
Action row pinned to the bottom of the sheet.
UiSheetHandle
Default drag-handle affordance rendered at the top of UiSheets.
UiSheetHeader
Pre-composed header with optional title/subtitle and trailing slot.
UiSheetScope
Imperative helpers for presenting a UiSheet as a modal overlay.
UiSheetSnap
Snap-point model for UiSheet presentation.
UiSidebar
Persistent navigation surface for tablet/desktop layouts.
UiSidebarGroup
Labelled cluster of items; renders an optional caption above rows.
UiSidebarItem
Clickable sidebar row.
UiSidebarNode
Shared node contract for sidebar children.
UiSidebarSection
Static section with an optional header + arbitrary body widget.
UiSidebarSeparator
Horizontal separator between groups/sections.
UiSkeleton
Shared loading placeholder surface and animation scope.
UiSkeletonBar
Rectangular loading mark for text, icons, chips, and media blocks.
UiSkeletonText
Stack of text-line skeleton bars with optional per-line widths.
UiSliverRefresher
Sliver-native refresh control for a CustomScrollView.
UiSmartActionGroup
Experimental inline action group for replacing "More" sheets with morphing buttons.
UiSmartActionGroupAction
One command rendered by UiSmartActionGroup.
UiSwitch
UiTab
Tab list item.
UiTabs
Shadcn-style segmented tab list.
UiTabViews
Cross-fade + subtle upward slide between tab panels.
UiTimeGridPicker
Compact column-based time picker inspired by popover time controls.
UiTimeline
A grouped, reverse-chronological activity timeline.
UiTimelineActor
A person or system identity associated with a timeline event.
UiTimelineChange
A before/after value shown within a timeline event.
UiTimelineEvent
Immutable content model for one UiTimeline entry.
UiTimelineTag
A compact label attached to a timeline event.
UiTimePicker
Simple hour/minute wheel picker (24-hour clock).
UiTimePickerField
Read-only form trigger that opens UiTimeGridPicker in an anchored overlay.
UiTimeRange
Inclusive time range.
UiTimeRangePicker
Pair of UiTimeGridPickers for a start/end time range.
UiTimeValue
24-hour clock value (hour 0..23, minute 0..59).
UiToast
Sonner-like toast surface.
UiToastAction
Optional action button attached to a toast.
UiToaster
Sonner-like toaster.
UiToastOverlay
Back-compat shim for the older API.
UiTooltip
UiTypingIndicator
A compact, WhatsApp-inspired incoming bubble for active composition.
UiTypingUser
A participant currently composing a chat message.
UiUnreadMessagesMarker
A quiet, semantic boundary between previously seen and unread messages.
UiWavatar
A deterministic, locally rendered abstract avatar.
UiWavatarCharacteristics
Optional context that gently directs UiWavatar's generated geometry.
UiWavatarParticipant
One distinct identity within a multi-participant UiWavatar.

Enums

UiAlertDialogIntent
Intent for the confirm action in a UiAlertDialog.
UiAlertIntent
Intent model for the inline UiAlert banner.
UiAsyncStateMode
Layout shape for async placeholder widgets.
UiAttachmentOrientation
UiAttachmentSize
UiAttachmentState
UiAvatarShape
UiBottomTabBarLayout
Bottom tab bar.
UiBubbleVariant
UiCardVariant
Visual density of a card surface.
UiChatAlignment
UiDrawerSide
Edge a drawer attaches to.
UiDrawerVariant
Visual treatment for modal drawers.
UiInputVariant
UiIntent
Semantic emphasis shared by intent-aware UI components.
UiLoadingIndicatorMode
Visual mode for UiLoadingState's indicator.
UiMarkerVariant
UiNavigationFormFactor
Breakpoint form factors surfaced by UiResponsiveNavigationScaffold.
UiRefreshStatus
Lifecycle states shared by UiRefresher and UiSliverRefresher.
UiSelectPlacement
Placement strategy used when the dropdown opens.
UiSheetSnapKind
How a sheet sizes itself along the vertical axis.
UiSize
Component sizing scale.
UiSmartActionGroupExpandedLayout
How flexible actions divide the wide layout after an overflow group expands.
UiTabsLayout
UiTimelineMarker
Selects whether an event uses its actor avatar or its status icon.
UiTimelineTone
Semantic color and icon treatment for a timeline event marker.
UiTimePickerClockFormat
Time format used by UiTimeGridPicker and UiTimePickerField.
UiToastPosition
Stack position for toasts.
UiTooltipSide
UiWavatarAgeGroup
Broad age context used to tune the glyph's proportions.
UiWavatarGender
Optional identity context used only to diversify abstract geometry.
UiWavatarSubject
The kind of identity represented by a UiWavatar.
UiWavatarThemeMode
Controls whether generated colors respond to platform brightness.

Constants

datePickerDayGridKey → const ValueKey<String>
Test-only keys for the calendar sub-grids. @visibleForTesting is intentionally omitted so call sites in the test package don't need to import meta — the keys are harmless if read in production.
datePickerHeaderTriggerKey → const ValueKey<String>
datePickerMonthGridKey → const ValueKey<String>
datePickerYearGridKey → const ValueKey<String>
persistentSheetSurfaceKey → const ValueKey<String>
Test hook: identifies the sized surface that represents the current sheet height. Exposed so integration tests can measure the rendered sheet directly (the surrounding UiPersistentSheet fills its parent layout and therefore reports the wrong height).

Functions

buildUiFormattedTextSpan(BuildContext context, String source, {required List<UiFormattedTextRule> rules, required TextStyle baseStyle, bool showOperators = false, TextStyle? operatorStyle}) TextSpan
selectedTime(DateTime d) UiTimeValue
Imperative helper: shows a time picker inside a modal sheet and resolves with the chosen UiTimeValue, or null on cancel.

Typedefs

UiBottomTabOverflowDrawerBuilder = Widget Function(BuildContext context, UiDrawerController<void> controller)
UiBottomTabRailBuilder = Widget Function(BuildContext context, UiBottomTabRailConfig config)
UiCalendarDayHeaderBuilder = Widget Function(BuildContext context, DateTime day, bool isToday)
UiCalendarTimeLabelBuilder = String Function(int hour)
UiComboboxFilter<T> = bool Function(UiSelectOption<T> option, String query)
UiControlledDrawerBuilder<T> = Widget Function(BuildContext context, UiDrawerController<T> controller)
UiDataRowBuilder = UiDataRow Function(BuildContext context, int index)
UiDatePredicate = bool Function(DateTime date)
Predicate the picker consults before accepting a date — return true for dates that should be non-selectable (e.g. weekends).
UiFormattedTextStyleBuilder = TextStyle Function(BuildContext context, TextStyle baseStyle)
UiInputValidator = String? Function(String value)
UiNavigationRailLeadingBuilder = Widget Function(BuildContext context, Color foreground)
UiRefreshErrorCallback = void Function(Object error, StackTrace stackTrace)
UiRefreshIndicatorBuilder = Widget Function(BuildContext context, UiRefreshIndicatorDetails details)
UiResponsiveNavigationBuilder = Widget Function(BuildContext context, UiNavigationFormFactor formFactor)
Builder signature for responsive navigation.
UiSelectOptionBuilder<T> = Widget Function(BuildContext context, UiSelectOption<T> option, bool selected)
Builder for the dropdown option row.
UiSelectOptionLabelBuilder<T> = Widget Function(BuildContext context, UiSelectOption<T> option, bool selected)
Builder for the label slot inside an option row — replaces the default Text(option.label) while keeping the row's default chrome (padding, hover background, selected check).
UiSelectValidator<T> = String? Function(T? value)
UiSelectValueBuilder<T> = Widget Function(BuildContext context, UiSelectOption<T>? selected)
Builder for the value shown inside the closed trigger.
UiTimelineDateLabelBuilder = String Function(DateTime date)
UiTimelineLoadMoreLabelBuilder = String Function(int remaining)
UiTimelineTimeLabelBuilder = String Function(DateTime date)
UiTypingLabelBuilder = String Function(List<UiTypingUser> users)
Builds the visible and spoken typing-state label.
UiUnreadMarkerBuilder = Widget Function(BuildContext context)