Immutable content of one cell in a SelectRow: its Text plus optional
per-cell overrides for semantic Style, Alignment, and
FormattingMode. A cell is structured data, not a preformatted line — the control renders
it through the normal CliGrid cell pipeline. On the selected row the cell's own style is
overridden by the list-selection style so the row highlights consistently.
Immutable column definition for a multi-column select (see
InlineMultiColumnSelect and
TigerTui.MultiColumnSelectIndexAsync). A column owns sizing and a default cell alignment/style;
the control maps each column onto a real CliGrid column, and CliGrid owns the actual
width resolution. Use Star on the column that should absorb the
remaining width so a selected row's highlight spans the whole list.
Immutable row for a multi-column select: an ordered set of Cells (one per column, though
a row may supply fewer — missing trailing cells render blank) and an optional IsDisabled
flag. A disabled row renders muted, is skipped by keyboard navigation, and can never be the confirmed
selection. The row carries no key/value: callers map the confirmed row index back to their own data,
matching the index-based select APIs.