Skip to content
Version 2.11.0
↓ Get the launcher

SelectableElement record

Makes any Child subtree clickable as a whole and tints its background by interaction state — the rich-row analog of ButtonElement (which only wraps a single label). For list rows that are multi-line / multi-widget (a history session, a recent-lookup entry) where a per-row button would lose the layout. Rest = transparent; hover = faint accent wash; Selected() true (poll-diffed) = a stronger accent fill. A click anywhere on the row fires OnClick. Composes inside a List/Column like any leaf.

public record SelectableElement : IEquatable<HudElement>
name description
SelectableElement(…) Makes any Child subtree clickable as a whole and tints its background by interaction state — the rich-row analog of ButtonElement (which only wraps a single label). For list rows that are multi-line / multi-widget (a history session, a recent-lookup entry) where a per-row button would lose the layout. Rest = transparent; hover = faint accent wash; Selected() true (poll-diffed) = a stronger accent fill. A click anywhere on the row fires OnClick. Composes inside a List/Column like any leaf.
Child { get; set; }
OnClick { get; set; }
OnHover { get; set; } Optional — fires with true when the pointer enters the row and false when it leaves (ticker-driven; never fires in the static sandbox). Use for hover-preview panes. Added as an init property, NOT a ctor param, so the record’s primary constructor stays binary-compatible with existing plugins.
Selected { get; set; }