satin library

A Terminal UI library for Dart inspired by Lipgloss

Classes

BaseComponent
Base class for all UI components
Border
Border configuration with Unicode box-drawing characters
ListBox
List component with bullets and optional title
Presets
Pre-configured styles for common use cases
ProgressBox
Progress bar component
StatusBox
Style
Core styling class for terminal text
Table
Terminal table with proper T-junction borders
TerminalColor
Terminal color utilities for CLI applications
TitleBox
Component for rendering title boxes with borders and icons

Enums

Align
Text alignment options
BorderStyle
Border styles for components
StatusType
Status message component with predefined icons and colors
VerticalAlign

Functions

listBox(List<String> items, {String? title, String bullet = '•', Style? titleStyle, Style? bulletStyle, Style? itemStyle, int indent = 2}) ListBox
progressBox(String label, double progress, {int barWidth = 20, Style? labelStyle, Style? progressStyle, bool showPercent = true}) ProgressBox
statusBox(String message, StatusType status, {String? customIcon, Style? messageStyle}) StatusBox
style() Style
table({required List<List<String>> rows, List<String>? headers, Border border = Border.normal, TerminalColor? borderColor, List<Style>? columnStyles, Style? headerStyle, List<int>? columnWidths, bool showHeaders = true}) Table
titleBox(String title, {String? subtitle, String? icon, Style? subtitleStyle, Style? titleStyle, Style? iconStyle, Border border = Border.normal, TerminalColor? borderColor, Align alignment = Align.left, int? width, int padding = 1}) TitleBox