Selector List

Shared option-list rendering infrastructure.

Basic use

Radix · integration snippet
use xgpui_luma_look_radix as radix;

fn radix_items_look(look: &radix::Look) -> xgpui_luma::controls::selector_list::SelectorItemsPanelLook {
    radix::selector_items_panel_look(look, radix::PopupMenuVariant::Solid, radix::Tone::Accent)
}

Compilation-checked Radix snapshot helper. Resolve during render after Look changes and pass the returned styling to the SDK renderer.

Radix styling

selector_items_panel_look(&look, variant, tone) supplies shared SDK option-row and panel styling. Use selector_items_panel_look_for(..., size) for a specific size. The Radix Selector, Autocomplete, ComboBox, and Search Selector adapters reuse this shared styling; it is not a second selection engine.

Pass an explicit Look, including forks. Theme adapters retain that binding; notify affected controls and their owners after palette, mode, or stylesheet edits. Resolved look values are snapshots and must be resolved again during render.

See the Radix control support table for adapter and utility status.

SDK behavior & customization

Not a spawnable control. Used by Selector, ComboBox, and Autocomplete.

Relevant contracts: SelectorItemRenderModel, SelectorItemTemplate, SelectorItemsTemplateHandlers, SelectorItemsRenderModel.

Use the module’s template contract for structural changes. Builder modifiers and item templates vary by control.

Application interaction

Selector List supplies shared row chrome. Handle interaction through the owning Selector, ComboBox, Autocomplete, or Selection Panel.

Source

SDK module · Radix adapter