# ExRatatui v0.8.2 - API Reference

## Modules

- Core
  - [ExRatatui](ExRatatui.md): Elixir bindings for the Rust [ratatui](https://ratatui.rs) terminal UI library.
  - [ExRatatui.Session](ExRatatui.Session.md): A per-connection terminal session backed by an in-memory writer.

- Observability
  - [ExRatatui.Telemetry](ExRatatui.Telemetry.md): Telemetry integration for ExRatatui.

- Application
  - [ExRatatui.App](ExRatatui.App.md): A behaviour for building supervised TUI applications.

- Reducer Runtime
  - [ExRatatui.Command](ExRatatui.Command.md): Commands represent one-shot side effects scheduled by an `ExRatatui.App`.
  - [ExRatatui.Runtime](ExRatatui.Runtime.md): Runtime inspection and trace controls for supervised ExRatatui applications.
  - [ExRatatui.Subscription](ExRatatui.Subscription.md): Subscriptions represent ongoing or delayed self-messages owned by an app.

- Layout
  - [ExRatatui.Frame](ExRatatui.Frame.md): Terminal frame information passed to `render/2` callbacks.
  - [ExRatatui.Layout](ExRatatui.Layout.md): Layout system for splitting areas into sub-regions.
  - [ExRatatui.Layout.Rect](ExRatatui.Layout.Rect.md): A rectangular area on the terminal screen.

- Style
  - [ExRatatui.Style](ExRatatui.Style.md): Style configuration for widgets.

- Rich Text
  - [ExRatatui.Text](ExRatatui.Text.md): Rich-text value composed of one or more `ExRatatui.Text.Line`s.
  - [ExRatatui.Text.Line](ExRatatui.Text.Line.md): A single line of text composed of one or more `ExRatatui.Text.Span`s.
  - [ExRatatui.Text.Span](ExRatatui.Text.Span.md): A single styled run of text — the smallest rich-text primitive.

- Events
  - [ExRatatui.Event](ExRatatui.Event.md): Terminal event structs.
  - [ExRatatui.Event.Key](ExRatatui.Event.Key.md): A keyboard event.
  - [ExRatatui.Event.Mouse](ExRatatui.Event.Mouse.md): A mouse event.
  - [ExRatatui.Event.Resize](ExRatatui.Event.Resize.md): A terminal resize event.

- Focus
  - [ExRatatui.Focus](ExRatatui.Focus.md): Focus management for multi-panel apps.

- Widgets
  - [ExRatatui.Widgets.Block](ExRatatui.Widgets.Block.md): A container widget that provides borders and a title around other widgets.
  - [ExRatatui.Widgets.Calendar](ExRatatui.Widgets.Calendar.md): A monthly calendar widget that displays days in a 7-column grid.
  - [ExRatatui.Widgets.Checkbox](ExRatatui.Widgets.Checkbox.md): A checkbox widget for toggling boolean values.
  - [ExRatatui.Widgets.Clear](ExRatatui.Widgets.Clear.md): A widget that resets all cells in its area to empty (space) characters.
  - [ExRatatui.Widgets.Gauge](ExRatatui.Widgets.Gauge.md): A progress bar widget.
  - [ExRatatui.Widgets.LineGauge](ExRatatui.Widgets.LineGauge.md): A thin horizontal progress bar widget.
  - [ExRatatui.Widgets.List](ExRatatui.Widgets.List.md): A selectable list widget.
  - [ExRatatui.Widgets.Markdown](ExRatatui.Widgets.Markdown.md): A markdown rendering widget with syntax highlighting for code blocks.
  - [ExRatatui.Widgets.Paragraph](ExRatatui.Widgets.Paragraph.md): A text display widget with optional wrapping, alignment, and scrolling.
  - [ExRatatui.Widgets.Popup](ExRatatui.Widgets.Popup.md): A centered modal overlay widget.
  - [ExRatatui.Widgets.Scrollbar](ExRatatui.Widgets.Scrollbar.md): A scrollbar widget for indicating scroll position in content.
  - [ExRatatui.Widgets.Sparkline](ExRatatui.Widgets.Sparkline.md): A compact inline chart for a single data series.
  - [ExRatatui.Widgets.Table](ExRatatui.Widgets.Table.md): A table widget with headers, rows, and optional selection.
  - [ExRatatui.Widgets.Tabs](ExRatatui.Widgets.Tabs.md): A tab bar widget for switching between views.
  - [ExRatatui.Widgets.TextInput](ExRatatui.Widgets.TextInput.md): A single-line text input widget with cursor and viewport management.
  - [ExRatatui.Widgets.Textarea](ExRatatui.Widgets.Textarea.md): A multiline text editor widget with undo/redo, cursor movement, and selection.
  - [ExRatatui.Widgets.Throbber](ExRatatui.Widgets.Throbber.md): A loading spinner widget that animates through symbol sets.
  - [ExRatatui.Widgets.WidgetList](ExRatatui.Widgets.WidgetList.md): A vertical list of heterogeneous widgets with optional selection and scrolling.

- Widgets: Bar Chart
  - [ExRatatui.Widgets.Bar](ExRatatui.Widgets.Bar.md): A single bar within a `ExRatatui.Widgets.BarChart`.
  - [ExRatatui.Widgets.BarChart](ExRatatui.Widgets.BarChart.md): A vertical or horizontal bar chart widget.
  - [ExRatatui.Widgets.BarGroup](ExRatatui.Widgets.BarGroup.md): A labelled cluster of `ExRatatui.Widgets.Bar` rendered together inside a
`ExRatatui.Widgets.BarChart`.

- Widgets: Canvas
  - [ExRatatui.Widgets.Canvas](ExRatatui.Widgets.Canvas.md): A 2D drawing surface for plotting shapes in arbitrary coordinate space.
  - [ExRatatui.Widgets.Canvas.Circle](ExRatatui.Widgets.Canvas.Circle.md): A circle outline to paint on a `ExRatatui.Widgets.Canvas`.
  - [ExRatatui.Widgets.Canvas.Label](ExRatatui.Widgets.Canvas.Label.md): A text annotation to print on a `ExRatatui.Widgets.Canvas`.
  - [ExRatatui.Widgets.Canvas.Line](ExRatatui.Widgets.Canvas.Line.md): A line segment to paint on a `ExRatatui.Widgets.Canvas`.
  - [ExRatatui.Widgets.Canvas.Map](ExRatatui.Widgets.Canvas.Map.md): A world map shape to paint on a `ExRatatui.Widgets.Canvas`.
  - [ExRatatui.Widgets.Canvas.Points](ExRatatui.Widgets.Canvas.Points.md): A collection of single-point markers to paint on a `ExRatatui.Widgets.Canvas`.
  - [ExRatatui.Widgets.Canvas.Rectangle](ExRatatui.Widgets.Canvas.Rectangle.md): A rectangle outline to paint on a `ExRatatui.Widgets.Canvas`.

- Widgets: Chart
  - [ExRatatui.Widgets.Chart](ExRatatui.Widgets.Chart.md): An XY plotting widget for line, scatter, and bar visualizations.
  - [ExRatatui.Widgets.Chart.Axis](ExRatatui.Widgets.Chart.Axis.md): Configures one axis of a `ExRatatui.Widgets.Chart`.
  - [ExRatatui.Widgets.Chart.Dataset](ExRatatui.Widgets.Chart.Dataset.md): A single named series within a `ExRatatui.Widgets.Chart`.

- Widgets: Slash Commands
  - [ExRatatui.Widgets.SlashCommands](ExRatatui.Widgets.SlashCommands.md): Slash command parsing and autocomplete popup rendering.
  - [ExRatatui.Widgets.SlashCommands.Command](ExRatatui.Widgets.SlashCommands.Command.md): A slash command definition with name, description, and optional aliases.

- Custom Widgets
  - [ExRatatui.Widget](ExRatatui.Widget.md): Protocol for user-defined widgets that compose ExRatatui primitives.

- Transport
  - [ExRatatui.Transport](ExRatatui.Transport.md): Shared protocol between the internal Server runtime and the modules
that carry input/output bytes for a running `ExRatatui.App`.
  - [ExRatatui.Transport.ByteStream](ExRatatui.Transport.ByteStream.md): Helpers for transports that carry raw terminal bytes to and from a
remote `ExRatatui.Session`.

- SSH Transport
  - [ExRatatui.SSH](ExRatatui.SSH.md): OTP `:ssh_server_channel` implementation that serves an `ExRatatui.App`
over a single SSH channel.
  - [ExRatatui.SSH.Daemon](ExRatatui.SSH.Daemon.md): GenServer that owns an OTP `:ssh.daemon/2` listening for TUI clients.

- Distribution Transport
  - [ExRatatui.Distributed](ExRatatui.Distributed.md): Distribution-attach transport for `ExRatatui.App`.
  - [ExRatatui.Distributed.Listener](ExRatatui.Distributed.Listener.md): Supervisor for distribution-attach sessions on the app node.

