selection library

Stable text-selection widget API for composable terminal UIs.

This is a convenience re-export of package:artisanal_widgets/selection.dart so apps depending on package:artisanal can keep using the umbrella package for the supported selection surface.

Prefer the direct artisanal_widgets package when selection widgets are the only UI surface your app needs. Keep this umbrella entrypoint when the app already depends on the wider Artisanal toolkit.

Classes

AccentPanel
A panel with a colored vertical accent stripe on one side.
AccentPanelThemeData
Theme data for AccentPanel widgets.
Accordion
ActionButton
A compact, styled button designed for use in dialog footers and inline prompt panels.
ActionChip
Flutter-style action chip.
AlertBox
Align
Alignment
AlwaysStoppedAnimation<T>
An Animation that is always stopped at a given value.
Animatable<T>
Transforms a double (typically from an Animation<double>) into a value of type T.
AnimatedBuilder
A general-purpose widget that rebuilds whenever a Listenable notifies.
AnimatedTint
A widget that applies an animated color tint over its child.
AnimatedWidgetBaseState<T extends ImplicitlyAnimatedWidget>
Base state class for ImplicitlyAnimatedWidget.
Animation<T>
An animation with a value of type T.
AnimationController
A TEA-native animation controller.
AnimationTickMsg
Message delivered on each animation frame tick.
ArtisanalApp
A high-level root shell for artisanal widget applications.
AsciiFont
Abstract base class for ASCII art fonts.
AsciiGlyph
Represents a single ASCII art character glyph.
AsciiText
A widget that renders text using large ASCII art font glyphs.
AsyncSnapshot<T>
Badge
A compact label with colored background, used for status, priority, or tags.
BlockFocus
A widget that blocks keyboard events from reaching its children.
BorderRadius
BoxConstraints
Box constraints for layout.
BoxDecoration
Budgeted<W extends Widget>
Wraps child with an explicit budget-aware signal.
BuildContext
An opaque handle to location in the widget tree.
Builder
A widget that delegates its build to a callback.
Button
Card
Center
ChangeNotifier
A Listenable implementation that stores listeners and can notify them.
Checkbox
CheckboxListTile
Flutter-style checkbox list tile.
CheckedPopupMenuItem<T>
A selectable menu entry with a check indicator.
Chip
Flutter-style non-interactive chip.
ChoiceChip
Flutter-style single-select chip.
CircularProgressIndicator
Flutter-style circular progress indicator.
ClipRect
A widget that clips its child to its allocated size.
CodeEditor
A higher-level code editor built on top of TextEditor.
ColoredBox
A widget that fills its area with a single solid color.
Column
CommandPalette
A searchable, grouped list displayed in a modal overlay.
CommandPaletteItem
A single item in a CommandPalette.
CommandPaletteMatch
A scored command palette match with explainable evidence.
CommandPaletteThemeData
Theme data for CommandPalette widgets.
ConstantTween<T>
A tween that always returns the same constant value.
ConstrainedBox
Container
Cubic
A cubic Bezier curve defined by two control points.
Curve
A mapping of the unit interval to the unit interval.
Curves
A collection of common animation curves.
CurveTween
An Animatable that applies a Curve to the input value.
DataTable
A simple data table widget that renders tabular data with column headers, row separators, and optional theming.
DebugConsole
A scrollable developer console pane.
DebugConsoleController
Mutable controller for a debug console pane.
DebugConsoleEntry
One line in a DebugConsoleController.
DebugConsoleHost
Wraps a subtree with a toggleable debug console overlay.
DebugConsoleScope
Exposes a DebugConsoleController to descendant widgets.
DebugOverlay
A debug overlay that displays rendering metrics.
DecisionCard
A bordered card showing progressive-disclosure decision transparency.
DecisionData
Data for a DecisionCard.
DecisionDetails
Quantitative details for level-3 disclosure.
DecoratedBox
A widget that paints a Decoration either behind or in front of its child.
Decoration
DialogAlert
A simple alert dialog with a title, message, and OK button.
DialogConfirm
A simple yes/no confirmation dialog.
DialogPrompt
A dialog with a text input field.
DialogSelect<T>
A generic searchable, grouped selection list dialog.
DialogSelectItem<T>
A single item in a DialogSelect list.
DialogStack
Manages a stack of modal dialogs.
DialogStackState
State for DialogStack, providing the push/pop/replace/clear API.
DialogThemeData
Theme data for dialog widgets (DialogConfirm, DialogAlert, DialogPrompt, DialogSelect).
DiffFile
A file entry in a parsed diff.
DiffStyles
Configuration for diff styling.
Divider
DoubleTapGestureRecognizer
Recognizes double-tap gestures.
DoubleTween
An explicit double tween (mostly for documentation clarity).
DragEndDetails
Details for the end of a drag gesture.
DragGestureRecognizer
Recognizes drag gestures.
DragStartDetails
Details for the start of a drag gesture.
DragUpdateDetails
Details for a drag update event.
Drawer
Flutter-style dropdown button wrapper.
Flutter-style dropdown menu item.
EdgeInsets
EditorThemeData
Theme data for editable text surfaces such as TextArea, TextEditor, CodeEditor, and MarkdownEditor.
ElasticInCurve
An elastic curve that overshoots and then oscillates at the start.
ElasticInOutCurve
An elastic curve that overshoots and oscillates at both ends.
ElasticOutCurve
An elastic curve that overshoots and then oscillates at the end.
ElevatedButton
Flutter-style elevated button wrapper.
ErrorThrowingWidget
A widget that deliberately throws during build.
EvidenceTerm
A single evidence term in a DecisionCard.
Expanded
ExpansionTile
Flutter-style expansion tile built on top of ListTile.
FadeModalBarrier
A modal barrier that fades in/out with an animated opacity.
FadeTint
A widget that fades a tint in or out over its child.
FileImage
An ImageProvider that loads an image from a file path.
FilePicker
FilledButton
Flutter-style filled button wrapper.
FilterChip
Flutter-style multi-select chip.
Flex
Flexible
FlippedCurve
A curve that is the reverse of another curve.
Focusable
A widget that responds to keyboard input when focused.
FocusController
Controls which focusable widget is currently focused.
FocusScope
Provides a FocusController to descendants.
Frame
FutureBuilder<T>
GestureArenaManager
Manages gesture arenas for conflict resolution.
GestureDetector
GestureRecognizer
Abstract base class for all gesture recognizers.
GitDiffController
Controller for GitDiffViewer.
GitDiffModel
A git diff viewer bubble.
GitDiffThemeData
Theme data for GitDiffViewer widgets.
GitDiffViewer
A widget for viewing git diffs with syntax highlighting and scrolling.
Gradient
HBox
HelpView
A widget-side help view for rendering KeyMap bindings.
HistoryEntry
A single entry in the undo/redo history.
HistoryPanel
A panel that displays undo/redo command history with a position marker.
HitTestEntry
A single entry in a HitTestResult, linking a render object to the local coordinates at which it was hit.
HitTestResult
Accumulated result of a hit test, ordered deepest-first.
HyperlinkText
A text widget that renders as a clickable hyperlink using OSC 8 escape sequences in terminals that support them.
Icon
IconButton
Flutter-style icon button wrapper.
IconData
Icons
IgnorePointer
A widget that is invisible to hit-testing.
Image
A widget that displays an image in the terminal.
ImageData
Data class holding a decoded image.
ImageProvider
Abstract base class for providing images to the Image widget.
ImplicitlyAnimatedWidget
Abstract base class for widgets that implicitly animate when their properties change.
InheritedWidget
A widget that exposes data to descendants.
InputChip
Flutter-style input chip.
Interval
An interval that starts and/or ends at a fractional point along the curve.
IntTween
A tween that interpolates between two integers.
Key
A Key is an identifier for Widgets.
KeyBinding
A key binding that maps keys to actions with optional help text.
KeyboardListener
A widget that calls a callback when a key is pressed.
KeyHint
A small widget that displays a keyboard shortcut key and its label.
KeyMap
A collection of key bindings forming a key map.
Label
LayoutBuilder
A widget that provides its parent's constraints to a builder callback.
LimitedBox
A box that limits its size only when it's unconstrained.
LinearProgressIndicator
Flutter-style linear progress indicator.
Listenable
An object that maintains a list of listeners.
ListenableBuilder
A widget that rebuilds when a Listenable changes.
ListTile
ListView
ListViewController
Controller for scroll position in VirtualListView.
LocalKey
A key that is scoped to local widget identity only.
LoggingNavigatorObserver
A NavigatorObserver that logs navigation events to the console.
LongPressEndDetails
Details for the end of a long-press gesture.
LongPressGestureRecognizer
Recognizes long-press gestures.
LongPressStartDetails
Details for the start of a long-press gesture.
MarkdownEditor
A higher-level Markdown editor with a live rendered preview.
MarkdownText
A widget that renders Markdown content as styled ANSI text.
MediaQuery
MediaQueryData
MemoryImage
An ImageProvider that loads an image from raw bytes.
MetricDisplay
A single-value metric display widget.
ModalRoute<T>
A modal overlay route with an optional barrier.
MouseRegion
A widget that manages a stack of Route objects.
An interface for observing the behavior of a Navigator.
State for Navigator, providing route stack management.
NetworkImage
An ImageProvider that loads an image from an HTTP(S) URL.
Offset
An offset in terminal cell units (column, row).
Opacity
OpenCodeThemes
All 33 OpenCode themes, ported from the official JSON definitions.
OutlinedButton
Flutter-style outlined button wrapper.
OverflowBox
A widget that imposes different constraints on its child than it gets from its parent, possibly allowing the child to overflow the parent.
Overlay
A widget that manages a stack of OverlayEntry objects.
OverlayEntry
An entry in an Overlay.
OverlayState
State for Overlay, providing methods to insert and remove entries.
Padding
PageRoute<T>
A full-screen page route.
Pagination
PanelBox
PerformanceOverlay
A simpler variant of DebugOverlay that only shows render timing.
PopBehavior
Configuration for how a Navigator handles pop requests via keyboard.
PopupMenuButton<T>
Flutter-style popup menu button.
PopupMenuDivider<T>
A non-selectable divider entry for PopupMenuButton.
PopupMenuEntry<T>
Base class for entries used in PopupMenuButton.
PopupMenuItem<T>
A selectable menu entry for PopupMenuButton.
Positioned
ProgressIndicator
PromptFooterBar
A footer bar for inline prompt panels and dialog bottoms.
ProxyAnimation
An Animation that proxies another animation.
Radio<T>
RadioListTile<T>
Flutter-style radio list tile.
RangeSlider
Flutter-style range slider for selecting a start/end interval.
RangeValues
Immutable pair of values used by RangeSlider.
Rect
A rectangle defined by offset + size, in terminal cell units.
ReloadController
Controller for development-time subtree reloads.
ReloadHost
Rebuildable host for development-time reloads.
ReloadScope
Exposes a ReloadController to descendant widgets.
ReloadSignal
One reload signal emitted by ReloadController.
RenderAlign
RenderConstrainedBox
RenderContainer
RenderIgnorePointer
A render object that never reports a hit, causing hit-testing to skip its subtree and continue to siblings in the parent's child list.
RenderListViewport
Render object backing VirtualListView.
RenderListViewScrollViewport
Render object for _ListViewViewport.
RenderPadding
RenderScrollbar
Render object that draws a vertical scrollbar next to or over child content.
RenderSelectableText
A render object that paints text with optional selection highlighting.
RenderSingleChildViewport
Render object for _SingleChildViewport.
RenderSizedBox
RenderStack
RenderViewport
Render object backing Viewport.
RenderWrap
ReverseTween<T>
A tween that evaluates another tween in reverse.
RichText
A widget that displays styled text using a TextSpan tree.
Route<T>
Abstract base class for routes managed by a Navigator.
RouteSettings
Immutable route metadata.
Row
SawTooth
A sawtooth curve that repeats count times over the unit interval.
ScrollArea
A convenience widget that wraps SingleChildScrollView with optional sizing and an optional Scrollbar.
Scrollbar
A scrollbar that decorates a scrollable child.
ScrollbarGradient
A vertical gradient for scrollbar tracks or thumbs.
ScrollController
Scroll controller interface for scrollable widgets.
ScrollView
A scrollable container for a single child widget.
Select<T>
SelectableMarkdownText
A markdown widget that supports click-drag selection and Ctrl+C copy.
SelectableRichText
A rich-text widget that supports click-drag selection and Ctrl+C copy.
SelectableText
A text widget that supports click-drag selection and Ctrl+C copy.
SelectableTextAreaView
A read-only selectable view of a TextAreaController.
SelectableTextFieldView
A read-only selectable view of a TextEditingController.
SelectableView
A generic string/View wrapper that participates in text selection.
SelectionArea
Provides a shared SelectionController to descendant selectable text widgets, enabling cross-widget text selection.
SelectionController
Manages text selection state independently of scroll.
SelectOption<T>
ShrinkWrap
SingleChildScrollView
A scrollable container for a single child widget.
Size
Size in terminal cell units.
SizedBox
SizedOverflowBox
A widget that is a specific size but passes its original constraints through to its child, which may then overflow.
Slider
Flutter-style slider for selecting a single value.
Spacer
SpinnerIndicator
SplitView
Stack
StackParentData
State<T extends StatefulWidget>
Mutable state for a StatefulWidget.
StatefulWidget
A widget with mutable state managed by a State object.
StatelessWidget
A widget with a build method and no mutable state.
StaticWidget
A simple widget that wraps a static string or View.
StatusBar
A horizontal bar that displays a row of KeyHint items.
StatusBarThemeData
Theme data for StatusBar widgets.
StatusItem
A typed item that can be displayed in a StatusLine.
StatusLine
A horizontal status bar with left, center, and right regions.
StepIndicator
A step-by-step progress indicator widget.
StepItem
A single step in a StepIndicator.
StepTween
A tween that floors the interpolated value to an integer.
StreamBuilder<T>
StyledAsciiText
A convenience wrapper that applies a Style to AsciiText.
Switch
SwitchListTile
Flutter-style switch list tile.
TabItem
Tabs
TapDownDetails
Details for a tap-down event.
TapGestureRecognizer
Recognizes single-tap gestures.
TapUpDetails
Details for a tap-up event.
Text
TextArea
A multi-line text editor widget powered by the bubbles textarea model.
TextAreaController
Controls the state of a TextArea.
TextButton
Flutter-style text button wrapper.
TextDecorationLayerBinding
Keeps one named range-decoration layer in sync with a text controller.
TextDiagnosticsBinding
Keeps a TextAreaController's diagnostics in sync with its current text.
TextEditingController
Controls the state of a TextField.
TextEditingValue
The current state of a text field.
TextEditor
A higher-level editor surface built on top of TextArea.
TextField
A text input widget supporting single-line and multi-line editing.
TextLineDecorationLayerBinding
Keeps one named whole-line decoration layer in sync with a text controller.
TextPositionDiagnosticsSource
Produces positional diagnostics from a listenable text source.
TextSelection
Range of text that is selected.
TextSpan
Theme
Theme containing semantic colors, text styles, and component themes.
ThemeScope
Provides a theme to descendant widgets via the build context.
Threshold
A curve that jumps from 0.0 to 1.0 when t passes threshold.
Tint
A widget that applies a color tint over its child.
Toast
Tooltip
A hover-triggered message bubble for a child widget.
Transform
A widget that applies spatial transformations to its child.
TreeView
A hierarchical tree view widget.
TreeViewNode
A node in a TreeView widget.
TUIErrorWidget
A widget that displays an error message with red styling.
Tween<T extends dynamic>
A linear interpolation between a begin and end value.
TweenSequence<T>
An Animatable that chains multiple tweens end-to-end with proportional durations.
TweenSequenceItem<T>
A single entry in a TweenSequence.
UniqueKey
A key that is only equal to itself.
ValueKey<T>
A key that uses a value of a particular type to identify itself.
ValueListenable<T>
A Listenable that exposes a current value.
ValueListenableBuilder<T>
A widget that rebuilds when a ValueListenable changes its value.
ValueNotifier<T>
A ChangeNotifier that holds a single value and notifies when it changes.
VBox
VerticalDivider
A vertical line divider.
Viewport
A string-backed scrollable viewport powered by ViewportModel.
ViewportController
Controller for Viewport.
VirtualListView
A render-object driven list view that only paints visible items.
Visibility
WatchedBrowserArtisanalAppHost
Browser host wrapper that owns the reload controller and optional watcher.
WatchedSocketArtisanalAppHost
Socket host wrapper that owns the reload controller and optional watcher.
Widget
Base class for composable TUI widgets.
WidgetApp
Runs a widget tree using an element hierarchy.
WidgetDegradationSignal
Signal controlling widget visibility under degradation.
WidgetScrollController
A simple ScrollController for use with SingleChildScrollView, ScrollView, and ListView.
Wizard
WizardFormStep
Wrap
Zone
ZoneInBoundsMsg
Message sent when a zone is within bounds of a mouse event.

Enums

AccentSide
The side on which the accent stripe is drawn.
AlertVariant
AnimationStatus
The status of an animation.
AsyncConnectionState
Axis
BoxFit
How an image should be inscribed into a box.
ButtonSize
ButtonVariant
CrossAxisAlignment
DataTableBorderStyle
Border style for DataTable.
DebugOverlayPosition
Position options for the debug overlay.
DecisionSignal
Signal level for a DecisionCard.
DecorationPosition
Where to paint a decoration relative to the child.
DiffViewMode
The display mode for the diff viewer.
DisclosureLevel
Progressive-disclosure level for a DecisionCard.
EvidenceDirection
Direction of an evidence term.
FlexFit
GestureDisposition
The final disposition of a recognizer in the arena.
GestureRecognizerState
The lifecycle state of a gesture recognizer.
HistoryPanelMode
Display mode for HistoryPanel.
HitTestBehavior
Controls how a widget behaves during hit testing.
ImageAutoMode
Controls how ImageRenderMode.auto chooses a rendering backend.
ImageRenderMode
Preferred rendering backend for the Image widget.
ListTileControlAffinity
Position of the control in list-tile-style rows.
MainAxisAlignment
MainAxisSize
MetricTrend
Trend direction for a MetricDisplay.
Overflow
ProgressLabelPosition
Where to display the percentage label relative to the bar.
ProgressStyle
Predefined fill/track character sets for ProgressIndicator.
ReloadMode
The kind of reload requested through ReloadController.
SidebarSide
StackFit
StepStatus
Status of a single step in a StepIndicator.
TextAlign
TextOverflow
ThemeMode
Controls how ArtisanalApp resolves its shell theme.
TooltipPosition
WidgetDegradationPriority
Priority values used by the render-budget engine when deciding which widgets to retain during a degraded frame.
WrapAlignment
WrapCrossAlignment

Mixins

AnimationMixin<T extends StatefulWidget>
Mixin for State classes that host one or more AnimationControllers.
FocusableWidget
Mixin for widgets that need to track focus state.

Extensions

SelectableMarkdownTextAdapter on MarkdownText
Convenience adapter for MarkdownText.
SelectableRichTextAdapter on RichText
Convenience adapter for RichText.
SelectableTextAdapter on Text
Convenience adapters that let read-only text widgets opt into the shared selection model without changing their layout role.
SelectableViewAdapter on View
Convenience adapter for generic View content.
ThemeContext on BuildContext
Convenience accessors for theme lookup on BuildContext.

Constants

defaultWidgetProgramOptions → const ProgramOptions
Widget-friendly runtime defaults for runWidgetApp and runArtisanalApp.

Properties

currentTheme Theme
Returns the current global theme.
no setter
hasDarkBackground bool
Whether the terminal has a dark background.
no setter

Functions

keyToIdOrFallback(Key? key, Object fallback) String
Returns a stable string ID for a possibly-null key.
runArtisanalApp(ArtisanalApp app, {ProgramOptions? options, ProgramHost? host, ImageAutoMode? imageAutoMode}) Future<void>
Runs an ArtisanalApp with widget-oriented runtime defaults.
runReloadableArtisanalApp({required ReloadWidgetBuilder homeBuilder, required ReloadController controller, String? title, Theme? theme, Theme? darkTheme, ThemeMode themeMode = ThemeMode.system, Theme themeBuilder()?, ProgramOptions? options, ProgramHost? host, ImageAutoMode? imageAutoMode}) Future<void>
Runs an ArtisanalApp with a reloadable home widget.
runReloadableWidgetApp(ReloadWidgetBuilder builder, {required ReloadController controller, ProgramOptions? options, ProgramHost? host, ImageAutoMode? imageAutoMode}) Future<void>
Runs a reloadable WidgetApp backed by ReloadHost.
runWatchedArtisanalApp({required ReloadWidgetBuilder homeBuilder, required Iterable<String> watchRoots, String? title, Theme? theme, Theme? darkTheme, ThemeMode themeMode = ThemeMode.system, Theme themeBuilder()?, ReloadController? controller, ReloadMode watchMode = ReloadMode.reload, Duration watchDebounce = const Duration(milliseconds: 150), bool watchRecursive = true, bool watchIgnoreHidden = true, Iterable<String> watchExtensions = const <String>['.dart'], ProgramOptions? options, ProgramHost? host, ImageAutoMode? imageAutoMode}) Future<void>
Runs an ArtisanalApp with a watched, reloadable home widget.
runWatchedWidgetApp(ReloadWidgetBuilder builder, {required Iterable<String> watchRoots, ReloadController? controller, ReloadMode watchMode = ReloadMode.reload, Duration watchDebounce = const Duration(milliseconds: 150), bool watchRecursive = true, bool watchIgnoreHidden = true, Iterable<String> watchExtensions = const <String>['.dart'], ProgramOptions? options, ProgramHost? host, ImageAutoMode? imageAutoMode}) Future<void>
Runs a reloadable WidgetApp and watches filesystem roots for changes.
runWidgetApp(WidgetApp app, {ProgramOptions? options, ProgramHost? host, ImageAutoMode? imageAutoMode}) Future<void>
Runs a WidgetApp with widget-oriented runtime defaults.
serveArtisanalAppInBrowser({required ArtisanalApp appBuilder(), InternetAddress? address, int port = 8080, String pagePath = '/', String webSocketPath = '/ws', String browserTitle = 'Artisanal Widget Host', String? pageHtml, ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities, ProgramOptions? options}) Future<BrowserTerminalHostServer>
Serves an ArtisanalApp in the browser through the shared websocket host.
serveArtisanalAppOnSocket({required ArtisanalApp appBuilder(), InternetAddress? address, int port = 2323, bool v6Only = false, bool shared = false, TerminalDimensions initialSize = (width: 80, height: 24), bool supportsAnsi = true, ColorProfile colorProfile = ColorProfile.trueColor, ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities, ProgramOptions? options}) Future<SocketTerminalHostServer>
Serves an ArtisanalApp on the reusable raw TCP socket host.
serveReloadableArtisanalAppInBrowser({required ReloadWidgetBuilder homeBuilder, required ReloadController controller, InternetAddress? address, int port = 8080, String pagePath = '/', String webSocketPath = '/ws', String browserTitle = 'Artisanal Widget Host', String? pageHtml, String? title, Theme? theme, Theme? darkTheme, ThemeMode themeMode = ThemeMode.system, Theme themeBuilder()?, ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities, ProgramOptions? options}) Future<BrowserTerminalHostServer>
Serves a reloadable ArtisanalApp in the browser.
serveReloadableArtisanalAppOnSocket({required ReloadWidgetBuilder homeBuilder, required ReloadController controller, InternetAddress? address, int port = 2323, bool v6Only = false, bool shared = false, TerminalDimensions initialSize = (width: 80, height: 24), bool supportsAnsi = true, ColorProfile colorProfile = ColorProfile.trueColor, String? title, Theme? theme, Theme? darkTheme, ThemeMode themeMode = ThemeMode.system, Theme themeBuilder()?, ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities, ProgramOptions? options}) Future<SocketTerminalHostServer>
Serves a reloadable ArtisanalApp on the raw socket host.
serveWatchedArtisanalAppInBrowser({required ReloadWidgetBuilder homeBuilder, required Iterable<String> watchRoots, ReloadController? controller, ReloadMode watchMode = ReloadMode.reload, Duration watchDebounce = const Duration(milliseconds: 150), bool watchRecursive = true, bool watchIgnoreHidden = true, Iterable<String> watchExtensions = const <String>['.dart'], InternetAddress? address, int port = 8080, String pagePath = '/', String webSocketPath = '/ws', String browserTitle = 'Artisanal Widget Host', String? pageHtml, String? title, Theme? theme, Theme? darkTheme, ThemeMode themeMode = ThemeMode.system, Theme themeBuilder()?, ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities, ProgramOptions? options}) Future<WatchedBrowserArtisanalAppHost>
Serves a watched, reloadable ArtisanalApp in the browser.
serveWatchedArtisanalAppOnSocket({required ReloadWidgetBuilder homeBuilder, required Iterable<String> watchRoots, ReloadController? controller, ReloadMode watchMode = ReloadMode.reload, Duration watchDebounce = const Duration(milliseconds: 150), bool watchRecursive = true, bool watchIgnoreHidden = true, Iterable<String> watchExtensions = const <String>['.dart'], InternetAddress? address, int port = 2323, bool v6Only = false, bool shared = false, TerminalDimensions initialSize = (width: 80, height: 24), bool supportsAnsi = true, ColorProfile colorProfile = ColorProfile.trueColor, String? title, Theme? theme, Theme? darkTheme, ThemeMode themeMode = ThemeMode.system, Theme themeBuilder()?, ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities, ProgramOptions? options}) Future<WatchedSocketArtisanalAppHost>
Serves a watched, reloadable ArtisanalApp on the raw socket host.
serveWidgetAppInBrowser({required WidgetApp appBuilder(), InternetAddress? address, int port = 8080, String pagePath = '/', String webSocketPath = '/ws', String browserTitle = 'Artisanal Widget Host', String? pageHtml, ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities, ProgramOptions? options}) Future<BrowserTerminalHostServer>
Serves a WidgetApp in the browser through the shared websocket host.
serveWidgetAppOnSocket({required WidgetApp appBuilder(), InternetAddress? address, int port = 2323, bool v6Only = false, bool shared = false, TerminalDimensions initialSize = (width: 80, height: 24), bool supportsAnsi = true, ColorProfile colorProfile = ColorProfile.trueColor, ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities, ProgramOptions? options}) Future<SocketTerminalHostServer>
Serves a WidgetApp on the reusable raw TCP socket host.
setHasDarkBackground(bool value) → void
Updates the dark background state.
setTheme(Theme theme) → void
Sets the global theme.
shortHash(Object? object) String
Short 5-hex hash for diagnostics.
textAreaStylesFromTheme(Theme theme) TextAreaStyles
updateThemeFromBackground(String? hex) → void
Updates theme based on background hex color (e.g., '#1a1a1a').
withImageAutoCapabilities<T>(TerminalCapabilities capabilities, T callback()) → T
withImageAutoConfiguration<T>({required ImageAutoMode mode, TerminalCapabilities? capabilities, required T callback()}) → T
withImageAutoMode<T>(ImageAutoMode mode, T callback()) → T

Typedefs

AnimationStatusListener = void Function(AnimationStatus status)
Signature for callbacks that receive AnimationStatus changes.
AsyncWidgetBuilder<T> = Widget Function(BuildContext context, AsyncSnapshot<T> snapshot)
CmdCallback = Cmd? Function()
FocusChangedCallback = void Function(bool focused)
FocusKeyCallback = Cmd? Function(KeyMsg msg)
FocusListener = void Function()
GestureDoubleTapCallback = Cmd? Function()
Callback for double-tap events.
GestureDragEndCallback = Cmd? Function(DragEndDetails details)
Callback for the end of a drag gesture.
GestureDragStartCallback = Cmd? Function(DragStartDetails details)
Callback for the start of a drag gesture.
GestureDragUpdateCallback = Cmd? Function(DragUpdateDetails details)
Callback for drag update events.
GestureLongPressCallback = Cmd? Function()
Callback for long-press events.
GestureLongPressEndCallback = Cmd? Function(LongPressEndDetails details)
Callback for the end of a long-press gesture.
GestureLongPressStartCallback = Cmd? Function(LongPressStartDetails details)
Callback for the start of a long-press gesture.
GestureTapCallback = Cmd? Function()
Callback for simple tap events (press + release within slop).
GestureTapCancelCallback = Cmd? Function()
Callback for tap cancellation (pointer moved beyond slop).
GestureTapDownCallback = Cmd? Function(TapDownDetails details)
Callback for tap-down events with position and modifier details.
GestureTapUpCallback = Cmd? Function(TapUpDetails details)
Callback for tap-up events with position details.
GestureWheelCallback = Cmd? Function(MouseMsg msg)
Callback for mouse wheel events (passes through raw MouseMsg).
IndexedSeparatorBuilder = Widget Function(BuildContext context, int index)
IndexedWidgetBuilder = Widget Function(BuildContext context, int index)
A scrollable list of child widgets.
MouseEnterCallback = Cmd? Function(MouseMsg msg)
Callback for mouse enter events.
MouseExitCallback = Cmd? Function(MouseMsg msg)
Callback for mouse exit events.
ReloadWidgetBuilder = Widget Function(BuildContext context, int revision)
Builder used by ReloadHost.
RouteFactory = Route? Function(RouteSettings settings)
A factory function that creates a route from settings.
RouteWidgetBuilder = Widget Function(BuildContext context)
A builder that creates a widget for a route.
TextChangedCallback = void Function(String value)
Signature for text change notifications from TextField.
TextDecorationLayerBuilder = Iterable<TextDecorationRange> Function(String text)
Builds range decorations from plain text.
TextDiagnosticsBuilder = Iterable<TextPositionDiagnosticRange> Function(String text)
Builds positional diagnostics from plain text.
TextFieldController = TextEditingController
Alias for TextEditingController for backward compatibility.
TextLineDecorationLayerBuilder = Iterable<TextLineDecoration> Function(String text)
Builds whole-line decorations from plain text.
TextPositionDiagnosticsBuilder = Iterable<TextPositionDiagnosticRange> Function(String text)
Builds positional diagnostics from plain text.
TweenConstructor = Tween Function(dynamic value)
Callback type for constructing a new Tween from a target value.
TweenVisitor = Tween? Function(Tween? tween, dynamic targetValue, TweenConstructor constructor)
Callback type for visiting tweens in AnimatedWidgetBaseState.forEachTween.
ValueCmdCallback<T> = Cmd? Function(T value)
VoidCallback = void Function()
WizardValidateFunc = String? Function(String value)

Exceptions / Errors

FlutterError
Simple error class for widget framework errors.