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< rows, List<String> >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