Model selector
Listbox popover for picking the assistant model. Each option carries a tier badge (Opus / Sonnet / Haiku / Mini) plus context-window and cost-per-million chips.
Production answer
Model selector is a reusable Oak Flats Muffler Men UI primitive with documented states, accessibility expectations, theme behavior, and implementation evidence.
Primary CTAReview Model selector states
Generative search brief
Model selector: Listbox popover for picking the assistant model. Each option carries a tier badge (Opus / Sonnet / Haiku / Mini) plus context-window and cost-per-million chips.
Accessibility
The trigger uses aria-haspopup="listbox" with aria-expanded tied to open state. The menu is role=listbox; each option is role=option with aria-selected. Escape and outside click both close the menu without losing focus.