Modules
ElixirOpentui - A terminal UI framework for Elixir.
ANSI escape sequence generation.
Renders text using large ASCII art fonts.
Font data for the :block ASCII font (6 lines, 2 colors, box-drawing + full blocks).
Font data for the :tiny ASCII font (2 lines, 1 color, Unicode half-blocks).
Semantic snapshot of the UI for agent / programmatic consumption.
Easing functions for animation curves.
Pure functional animation timeline.
Border character definitions for different border styles.
Cell-based terminal buffer. Each cell stores a character, fg/bg colors, and attributes.
User-facing drawing surface for the :frame_buffer widget type.
Terminal capability detection via escape sequence queries.
RGBA color representation for terminal UI rendering.
Behaviour for ElixirOpentui components.
Reusable runner for interactive widget demos.
Zig NIF module wrapping the OpenTUI EditBuffer and EditorView.
Core element struct representing a node in the UI tree.
Routes input events to the correct handlers based on focus state and hit-testing.
Focus management for the element tree.
Parses raw terminal input bytes into structured key and mouse events.
Pure Elixir "Flexbox Lite" layout engine.
Layout result rectangle.
Paints an element tree into a Buffer using layout results.
Download URLs and SHA256 hashes for prebuilt NIF binaries.
Terminal renderer with diff-based updates.
The MVU runtime GenServer. Owns all application and component state.
Parses a string into an Elixir term WITHOUT evaluating it.
Style properties for layout computation, mirroring the Flexbox subset used by ElixirOpentui (no CSS grid, no float).
Unicode text measurement helpers: grapheme clusters, display width, and column-based slicing and padding.
DSL macros for building ElixirOpentui element trees.
Checkbox/toggle widget.
Code display widget with syntax highlighting via Makeup.
Diff display widget with unified and split views.
Markdown rendering widget via EarmarkParser.
Scrollable container widget.
Shared scroll key handling for scrollable display widgets.
Selection list widget.
Horizontal tab selection widget.
Multi-line text editor widget.
Interactive text input widget.