ui/widget_toolkit library

Classes

Animatable
An interface for widgets that support animation ticks or time-based rendering.
AnimatedButton
A button widget featuring multiple layered custom animation effects.
AnimatedButtonState
The mutable state for AnimatedButton, mixing in the TUI animation ticker capability.
AsyncSnapshot<T>
Immutable representation of the most recent interaction with an asynchronous computation.
Border
Represents the character set and style configuration used to draw a box border.
BoxDecoration
Defines the visual decoration style (background and borders) for a box.
Button
Undocumented public member.
ButtonState
Undocumented public member.
Canvas
A 2D canvas widget for drawing high-resolution pixel graphics in a terminal.
CanvasElement
Element for high-performance direct flat-buffer rendering in Canvas.
Checkbox
Undocumented public member.
CheckboxState
Undocumented public member.
ConfirmFormField
A boolean yes/no confirmation prompt field.
DecoratedBox
A widget that paints a background decoration and border around a child widget.
DecoratedBoxElement
Element for DecoratedBox.
DiscreteScrollController
A controller for discrete cell-based scroll positions in TUI layouts.
An interactive select menu button that opens a dropdown list overlay.
State for a DropdownButton.
An item in a DropdownButton menu.
Easing
A collection of standard easing functions matching easings.net.
FlashEffect
A full-widget background flash pulsation.
FlatNode<T>
Helper info for rendering a flattened tree node.
Focus
A widget that manages a FocusNode to allow keyboard focus tracking and traversal in the widget tree.
FocusMarker
An InheritedWidget to propagate FocusNode down the BuildContext hierarchy.
FocusScope
A specialized widget to manage focus navigation traversal.
FocusScopeState
The state for a FocusScope widget.
FocusState
The state for a Focus widget.
Form
A container widget that coordinates focus, validation, and resets for multiple FormField widgets.
FormField<T>
Abstract base class for all form field widgets in termui.
FormFieldState<T>
Abstract state management class for FormField elements.
FormScope
Ancestor provider to expose form state to field elements.
FormState
The mutable state of a Form.
Grid
A widget that renders a static 2D grid of customized GridCells.
GridCell
A cell inside a Grid.
GridElement
Element class that manages layout and paint of Grid.
Help
A widget that formats and displays keybindings, auto-wrapping them to fit.
HelpElement
An element that manages the layout and rendering of a Help widget.
HorizontalRadioGroup
A horizontal group of radio-like choices.
HorizontalRadioGroupState
The state class for HorizontalRadioGroup managing selections and keyboard routing.
InkwellButton
A button widget with hover elevation (floating shadow) and pressed radial gradient inkwell ripple animation.
InkwellButtonState
The state for an InkwellButton.
InkwellRippleEffect
A radial expanding ripple effect that radiates from a click coordinate.
LayoutBuilder
A widget that builds a subtree based on the incoming layout constraints.
LayoutBuilderElement
The element that manages the lifecycle of a LayoutBuilder.
LazyList
A virtual scrolling list widget. Only renders items within the visible viewport.
LazyListElement
Mount element class corresponding to LazyList.
LazyTable
A virtual scrolling table widget. Only requests and renders rows within the viewport.
LazyTableElement
Mount element class corresponding to LazyTable.
LeftBorder
A layout widget that draws a vertical line (left border) on the left side of its child.
LeftBorderElement
The Element corresponding to a LeftBorder widget.
LinearProgressIndicator
A progress bar widget that fills its horizontal area with block characters.
LinearProgressIndicatorElement
An element that manages the rendering of a LinearProgressIndicator widget.
ListenableSceneRenderer
An interface for SceneRenderers that can notify their manager when they need a visual update.
ListView
A scrollable list of child widgets.
ListViewElement
The element managing a ListView widget.
ModalDismissBarrier
A full-screen widget that blocks pointer events and invokes onDismiss when clicked.
ModalDismissBarrierElement
Element managing a ModalDismissBarrier widget.
ModalOverlay
A specialized, high Z-index container that traps focus and intercepts mouse events.
ModalOverlayElement
Element class corresponding to ModalOverlay, managing layout and paint of the modal.
MultiSelectFormField<T>
A form field representing multiple-option selection from a list of choices.
MultiSelectOption<T>
An option in a multi-selection form field.
NumberSelector
A widget for selecting a numeric value using '<' and '>' buttons.
NumberSelectorElement
An element that manages the rendering and layout of a NumberSelector widget.
Overlay
A stack-based layout system that manages overlapping floating widgets.
OverlayEntry
An entry representing a widget that can be inserted into an Overlay.
OverlayState
The state for an Overlay, managing its active entries.
Padding
A widget that wraps another widget and inserts padding around it.
PaddingElement
An element that represents a Padding widget.
Paginator
A pagination dots indicator widget (e.g. ○ ○ ● ○ ○).
PaginatorElement
An element that manages the rendering and layout of a Paginator widget.
PopupMenuButton<T>
A button that displays a pop-up option menu when triggered.
PopupMenuButtonState<T>
State for a PopupMenuButton.
PopupMenuItem<T>
An item in a popup menu.
PromptRunner<T>
A helper class to run an interactive terminal prompt inline. It encapsulates the event loop, rendering to an inline buffer, and lifecycle management.
PromptScope
An inherited widget that abstracts prompt completion and lifecycle controls, shielding descendant widgets from any low-level/internal event buses.
Radio<T>
Undocumented public member.
RadioState<T>
Undocumented public member.
RichText
A widget that displays formatted text using a tree of TextSpan configurations.
RichTextElement
An element that manages a RichText widget.
SafeLayout
A layout widget that checks constraints and renders a fallback message (or custom fallback widget) if the terminal space is below the minimum required dimensions.
SafeLayoutElement
The element managing the lifecycle, constraints, and painting of SafeLayout.
SceneLayer
Represents a single renderable layer inside a composited terminal scene.
SceneManager
Manages multiple visual layers in a terminal windowing system, handles rendering composition and hardware sync.
SceneRenderer
An interface representing a rendering system in a composited scene.
ScrollBar
An interactive scrollbar widget that reflects and adjusts scrolling state.
ScrollBarElement
Mount element class corresponding to ScrollBar.
SelectFormField<T>
A form field representing single-option selection from a list of choices.
SelectionController<T>
A controller that manages selection state for selection-based widgets.
SelectOption<T>
An option in a selection form field.
SevenSegmentDisplay
A widget that displays a multi-line segmented numerical readout.
SevenSegmentDisplayElement
An element that manages the rendering and layout of a SevenSegmentDisplay widget.
SingleChildScrollView
A widget that wraps a single child widget and makes it scrollable.
Slider
A widget for selecting a numeric value by sliding a thumb along a track.
SliderState
The state for a Slider widget.
SparkleEffect
A particle-based sparkle effect that flashes bright icons inside the widget bounds.
Spinner
A widget for displaying animated loading/waiting indicators in a TUI.
SpinnerElement
An element that manages the rendering and layout of a Spinner widget.
SplitPane
A widget that divides a viewport into two side-by-side or stacked children.
SplitPaneElement
An element that manages the layout and rendering of a SplitPane widget.
StatefulBuilder
A custom stateful builder widget matching standard Flutter patterns. It allows stateful builders to declare their widget layouts dynamically and obtain local access to setState to trigger rebuilds within inline loops.
StreamBuilder<T>
Widget that builds itself based on the latest snapshot of interaction with a Stream.
StyledChar
A helper representing a single grapheme cluster with its style.
StyledToken
A helper representing a token (a word, spaces, or a newline) for wrapping.
Switch
Undocumented public member.
SwitchState
Undocumented public member.
TabBar
A horizontal tab bar widget to select active views from a tab set.
TabBarElement
An element that manages the rendering and layout of a TabBar widget.
TabController
A controller that coordinates the active tab index across TabBar and TabPanel.
Table
A widget for displaying tabular columns of data with optional row selection.
TableElement
Mount element class corresponding to Table, preserving per-cell states.
TabPanel
A container that renders only the widget of the active tab.
TabPanelElement
An element that manages the active panel rendering and layout of a TabPanel widget.
TerminalStateRequest
A contract defining terminal state requests from a runner or layer.
Text
A widget that renders styled text with optional wrapping.
TextAreaFormField
A form field wrapping a multi-line text editing area.
TextEditingController
A controller that notifies listeners when editing value changes.
TextEditingValue
Holds the configuration state of a TextField value.
TextElement
An element that represents a Text widget.
TextField
An interactive single-line or multi-line text input field.
TextFieldShortcut
A keyboard shortcut representation for assigning to TextFieldActions.
TextFieldState
The state for a TextField widget.
TextFormField
A form field wrapping a single-line text input field.
TextRun
Represents a styled span of text.
TextSelection
Represents the visual cursor selection offset in terminal cells.
TextSpan
An immutable span of text that can hold styling overrides and nested child spans.
Theme
A widget that propagates a ThemeData down the widget tree.
ThemeData
A class that holds the color and style configurations for a Theme.
TimerWidget
An interactive countdown timer widget.
TimerWidgetElement
An element that manages the rendering and layout of a TimerWidget widget.
TreeNode<T>
A node in the hierarchical tree structure.
TreeWidget<T>
A tree widget that displays nested TreeNode hierarchies.
TreeWidgetState<T>
The state for a TreeWidget widget.
TuiAnimationConfig
Global configuration for the TUI animation framework.
TuiAnimationEffect
Base abstract class for all terminal user interface (TUI) animation effects.

Enums

AnimationStatus
The status of an animation transition.
CanvasRenderMode
Defines how pixels are grouped and rasterized.
ConnectionState
The state of connection to an asynchronous computation.
CrossAxisFill
How to fill the cross axis for fractional steps.
ExecutionMode
Defines the execution mode for the PromptRunner.
LayerSizing
Defines sizing policies for layout layers in a compositing scene.
ProgressBarType
The type of characters used to render the progress bar.
ProgressDirection
The direction the progress bar fills.
PromptExitAction
Defines the state outcome of the PromptRunner when an exit trigger is matched.
PromptExitTrigger
Defines keyboard inputs or signals that can terminate the prompt runner's execution.
SliderAxis
The orientation of the slider.
TextAlign
Text alignments for TUI rendering.
TextFieldAction
Actions supported by the TextField widget.

Mixins

TuiAnimatedStateMixin<T extends StatefulWidget>
Mixin for State objects that allows registration and execution of TUI animations.

Extensions

PrintWidgetExtension on Terminal
Extension on term.Terminal to print a widget inline using the double-buffered renderer layout.

Functions

getAbsoluteRect(Buffer buffer, Rect localRect) Rect
Helper function to traverse the parent chain of a Buffer to find its absolute Rect boundaries.
measureStringWidth(String text) int
Measures the physical cell width of a string in a terminal, correctly accounting for CJK and Emoji characters that occupy 2 cells.
padOrTruncate(String text, int width) String
Pads or truncates a string to match the specified visual column width in a terminal, correctly accounting for wide characters (CJK and Emoji) and utilizing a fast-path for pure ASCII text.

Typedefs

EasingFunction = double Function(double t)
Signature for easing functions that transform linear progress t in [0, 1] into eased progress.
GradientStop = ({Color color, double stop})
A single color stop in a gradient.
LayoutWidgetBuilder = Widget Function(BuildContext context, BoxConstraints constraints)
Signature for the builder callback used by LayoutBuilder.
ProgressColors = ({List<GradientStop>? bg, List<GradientStop>? fg})
A set of foreground and background gradients.

Exceptions / Errors

PromptAbortedException
Base exception thrown when a PromptRunner is aborted via PromptExitAction.abort.
UserInterruptException
Specialized exception for user keyboard interrupts (typically Ctrl+C).