A selectable list widget.
Fields
:items- list of items to display. Each item accepts anyExRatatui.Text-coercible value: aString.t(), a%ExRatatui.Text.Span{}, a%ExRatatui.Text.Line{}, a%ExRatatui.Text{}, or a list of spans/lines.:style-%ExRatatui.Style{}for non-selected items:block- optional%ExRatatui.Widgets.Block{}container:highlight_style-%ExRatatui.Style{}for the selected item:highlight_symbol- string prefix for the selected item (e.g.,">> "):selected- zero-based index of the selected item, ornilfor no selection
Examples
iex> %ExRatatui.Widgets.List{items: ["Alpha", "Beta", "Gamma"], selected: 0}
%ExRatatui.Widgets.List{
items: ["Alpha", "Beta", "Gamma"],
style: %ExRatatui.Style{},
block: nil,
highlight_style: %ExRatatui.Style{},
highlight_symbol: nil,
selected: 0
}
Summary
Types
@type item() :: String.t() | ExRatatui.Text.Span.t() | ExRatatui.Text.Line.t() | ExRatatui.Text.t() | [ExRatatui.Text.Span.t()] | [ExRatatui.Text.Line.t()]
@type t() :: %ExRatatui.Widgets.List{ block: ExRatatui.Widgets.Block.t() | nil, highlight_style: ExRatatui.Style.t(), highlight_symbol: String.t() | nil, items: [item()], selected: non_neg_integer() | nil, style: ExRatatui.Style.t() }