serverpod_tui library

Classes

AlertLine
Renders an AlertMessage as a pinned, log-styled line: an alert marker and timestamp aligned with the log entries' level/time columns, followed by the message (with its code emphasised) and C Copy / Esc Dismiss hints.
AlertMessage
A message pinned to the bottom of the TUI until dismissed, e.g. an email verification code logged by the server.
BorderedBox
A container with a rounded border and optional title.
BoundedQueueList<E>
A QueueList with a fixed maximum length.
Button
A keyboard-activated button with a highlighted activation character.
ButtonBar
A horizontal bar of Button widgets with consistent spacing.
Checkbox
A check box component
ClipboardCommand
A clipboard utility to invoke, with its arguments.
CompletedOperation
Completed tracked operation, stored in the log history.
CompletedOperationWidget
Renders a completed tracked operation as a left-aligned log-style line with a trailing divider.
Form
A form component that renders text input, single select, boolean and multi-select options.
FormBooleanConfiguration
A boolean configuration rendered as a single checkbox.
FormConfig<T extends FormConfigOption>
Base configuration for a form.
FormConfigOption
A form configuration option.
FormConfiguration
Renders the appropriate configuration widget based on config's type.
FormConfigurationLayout
Renders a form configuration label and description wrapping child.
FormDescription
Description for a form config.
FormInputConfig
A text input configuration for a form.
FormInputConfiguration
A text input configuration rendered as a TextField.
FormMultiSelectConfiguration
A multi-select configuration rendered as checkboxes.
FormRequirement<T extends FormConfigOption>
Represents a requirement for FormConfig.
FormSelectionConfig<T extends FormConfigOption>
A selection configuration for a form.
FormSingleSelectConfiguration
A single-select configuration rendered as radio buttons.
FormState
State for a Form component. This manages states for text input, focus and selection (single and multi).
HelpOverlay
Help overlay showing all keybindings. Sizes to its content; scrolls if content exceeds the available terminal height.
LogMessageWidget
Renders a single structured log entry.
LogViewerWidget
Renders structured log entries with active tracked operations stacked at the bottom.
MultiScreenForm
A multi screen form component that renders a screen for each config in state with a summary screen at the end.
MultiScreenFormState
State for a multi-screen Form component with support for screen navigation and focus management for Back/Next buttons.
RadioButton
A radio button component.
RenderText
Render object for displaying text
RenderUnconstrainedBox
RenderWrap
Render object for wrap layouts.
ServerpodTerminalBackend
A terminal backend for nocterm that allows executing preExit callback before exiting the Dart process.
ServerpodTheme
Provides ServerpodThemeData to the widget tree.
ServerpodThemeData
Serverpod-specific TUI theme colors layered on top of TuiThemeData.
ServerpodTuiText
A run of text with a single style with leading and trailing whitespaces removed for lines after the first line.
Shimmer
A widget that applies an animated shimmer effect to its child.
SpinnerIcon
A spinner icon that uses the shared animation from SpinnerScope.
SpinnerNotifier
Notifier that broadcasts animation ticks to listeners.
SpinnerScope
Provides shared spinner animation state to descendants.
TabActivityIndicator
A leading status indicator for a tab or app row.
TabBar
A tab bar component.
TextButton
Tip
Renders a tip.
TrackedOperation
A tracked operation (server session or CLI progress).
TrackedOperationWidget
Renders an active tracked operation with spinner.
TuiApp<T extends TuiAppStateHolder<TuiState>>
A root TUI component.
TuiAppState<S extends TuiApp<TuiAppStateHolder<TuiState>>>
The logic and internal state for a TuiApp.
TuiAppStateHolder<S extends TuiState>
Provides access to the shared TuiState and a way to trigger rebuilds on the currently mounted TuiAppState.
TuiLogSink
IOSink that splits captured stdout/stderr into lines and forwards each to addLine (e.g. state.rawLines.add).
TuiLogWriter
A LogWriter that routes log entries and scopes to the TUI state.
TuiState
Central state for the TUI, mutated by the backend and rendered by nocterm.
UnconstrainedBox
Lets child lay out at its natural size and reports that size up the tree, ignoring the parent's constraints.
ValidatingTextController
A TextEditingController that validates its text on every change and exposes the validation result via an error notifier.
Wrap
Creates a wrap layout. By default, the wrap layout is horizontal.

Enums

BoolFormConfigOption
FormConfigOption that can either be enabled or disabled.
TabActivity
Activity state shown as a leading indicator on a tab.

Constants

runningFrames → const List<String>
Braille frames that circle.
setupFrames → const List<String>
Braille frames that fill upward.
teardownFrames → const List<String>
Braille frames that fill downward.

Functions

clipboardCommandsFor(String operatingSystem) List<ClipboardCommand>
The ordered clipboard tools to try for operatingSystem (a value from Platform.operatingSystem).
copyToClipboard(String text) → void
Copies text to the system clipboard.
formatDuration(Duration duration) String
Format a duration with dynamic units (μs/ms/s/m).
nativeCopy(String text, {String? operatingSystem, ProcessStarter? startProcess}) Future<bool>
Pipes text to the platform clipboard utility, trying the candidates from clipboardCommandsFor in order and stopping at the first that starts.
runTuiApp(Component app, {bool enableHotReload = true, TerminalBackend? backend, void onShutdownSignal()?}) Future<void>
Run a TUI app with terminal settings restoration.
shutdownTuiApp([int exitCode = 0]) → void
Restores stdin terminal modes captured by runTuiApp then shuts down the nocterm app with proper terminal cleanup.

Typedefs

HelpOverlayBindings = List<(String, List<(String, String)>)>
ProcessStarter = Future<Process> Function(String executable, List<String> arguments)
Starts a subprocess; mirrors Process.start. Injectable for testing.