# ElixirOpentui v0.2.0 - Table of Contents

A terminal UI framework for Elixir with a Zig NIF text engine.

## Pages

- [ElixirOpentui](readme.md)
- [Getting Started](getting-started.md)

## Modules

- [ElixirOpentui](ElixirOpentui.md): ElixirOpentui - A terminal UI framework for Elixir.
- [ElixirOpentui.ASCIIFont](ElixirOpentui.ASCIIFont.md): Renders text using large ASCII art fonts.
- [ElixirOpentui.ASCIIFont.Block](ElixirOpentui.ASCIIFont.Block.md): Font data for the :block ASCII font (6 lines, 2 colors, box-drawing + full blocks).
- [ElixirOpentui.ASCIIFont.Tiny](ElixirOpentui.ASCIIFont.Tiny.md): Font data for the :tiny ASCII font (2 lines, 1 color, Unicode half-blocks).
- [ElixirOpentui.Accessibility](ElixirOpentui.Accessibility.md): Semantic snapshot of the UI for agent / programmatic consumption.
- [ElixirOpentui.Border](ElixirOpentui.Border.md): Border character definitions for different border styles.
- [ElixirOpentui.Canvas](ElixirOpentui.Canvas.md): User-facing drawing surface for the `:frame_buffer` widget type.
- [ElixirOpentui.Color](ElixirOpentui.Color.md): RGBA color representation for terminal UI rendering.
- [ElixirOpentui.DemoRunner](ElixirOpentui.DemoRunner.md): Reusable runner for interactive widget demos.
- [ElixirOpentui.EditBufferNIF](ElixirOpentui.EditBufferNIF.md): Zig NIF module wrapping the OpenTUI EditBuffer and EditorView.
- [ElixirOpentui.EventManager](ElixirOpentui.EventManager.md): Routes input events to the correct handlers based on focus state and hit-testing.
- [ElixirOpentui.Focus](ElixirOpentui.Focus.md): Focus management for the element tree.
- [ElixirOpentui.Layout.Rect](ElixirOpentui.Layout.Rect.md): Layout result rectangle.
- [ElixirOpentui.Precompiled](ElixirOpentui.Precompiled.md): Download URLs and SHA256 hashes for prebuilt NIF binaries.
- [ElixirOpentui.Runtime](ElixirOpentui.Runtime.md): The MVU runtime GenServer. Owns all application and component state.
- [ElixirOpentui.SafeTerm](ElixirOpentui.SafeTerm.md): Parses a string into an Elixir term WITHOUT evaluating it.
- [ElixirOpentui.TextBuffer](ElixirOpentui.TextBuffer.md): Unicode text measurement helpers: grapheme clusters, display width, and
column-based slicing and padding.

- Widgets
  - [ElixirOpentui.Widgets.Checkbox](ElixirOpentui.Widgets.Checkbox.md): Checkbox/toggle widget.
  - [ElixirOpentui.Widgets.Code](ElixirOpentui.Widgets.Code.md): Code display widget with syntax highlighting via Makeup.
  - [ElixirOpentui.Widgets.Diff](ElixirOpentui.Widgets.Diff.md): Diff display widget with unified and split views.
  - [ElixirOpentui.Widgets.Markdown](ElixirOpentui.Widgets.Markdown.md): Markdown rendering widget via EarmarkParser.
  - [ElixirOpentui.Widgets.ScrollBox](ElixirOpentui.Widgets.ScrollBox.md): Scrollable container widget.
  - [ElixirOpentui.Widgets.ScrollHelper](ElixirOpentui.Widgets.ScrollHelper.md): Shared scroll key handling for scrollable display widgets.
  - [ElixirOpentui.Widgets.Select](ElixirOpentui.Widgets.Select.md): Selection list widget.
  - [ElixirOpentui.Widgets.TabSelect](ElixirOpentui.Widgets.TabSelect.md): Horizontal tab selection widget.
  - [ElixirOpentui.Widgets.TextArea](ElixirOpentui.Widgets.TextArea.md): Multi-line text editor widget.
  - [ElixirOpentui.Widgets.TextInput](ElixirOpentui.Widgets.TextInput.md): Interactive text input widget.

- Animation
  - [ElixirOpentui.Animation.Easing](ElixirOpentui.Animation.Easing.md): Easing functions for animation curves.
  - [ElixirOpentui.Animation.Timeline](ElixirOpentui.Animation.Timeline.md): Pure functional animation timeline.

- Core
  - [ElixirOpentui.Component](ElixirOpentui.Component.md): Behaviour for ElixirOpentui components.
  - [ElixirOpentui.Element](ElixirOpentui.Element.md): Core element struct representing a node in the UI tree.
  - [ElixirOpentui.Style](ElixirOpentui.Style.md): Style properties for layout computation, mirroring the Flexbox subset
used by ElixirOpentui (no CSS grid, no float).

  - [ElixirOpentui.View](ElixirOpentui.View.md): DSL macros for building ElixirOpentui element trees.

- Rendering
  - [ElixirOpentui.ANSI](ElixirOpentui.ANSI.md): ANSI escape sequence generation.
  - [ElixirOpentui.Buffer](ElixirOpentui.Buffer.md): Cell-based terminal buffer. Each cell stores a character, fg/bg colors, and attributes.
  - [ElixirOpentui.Painter](ElixirOpentui.Painter.md): Paints an element tree into a Buffer using layout results.
  - [ElixirOpentui.Renderer](ElixirOpentui.Renderer.md): Terminal renderer with diff-based updates.

- Layout
  - [ElixirOpentui.Layout](ElixirOpentui.Layout.md): Pure Elixir "Flexbox Lite" layout engine.

- Terminal
  - [ElixirOpentui.Capabilities](ElixirOpentui.Capabilities.md): Terminal capability detection via escape sequence queries.
  - [ElixirOpentui.Input](ElixirOpentui.Input.md): Parses raw terminal input bytes into structured key and mouse events.

