Select
Status: built (2026-10-19), unverified by eye. HANDOFF.md written and ready-for-dev 2026-10-20. Replaces the Model Selector proposal.
Problem
The chat input needs a model picker that sits inline in its toolbar: the selected model's name and a chevron, with no border, fill or container. The first proposal for it, ModelSelector, was a new component built on MenuButton. But choosing one value from a list is what the PDS Select already does, with listbox semantics, a selected check, typeahead and keyboard handling. Only the look (a field with a border) is wrong for a toolbar.
Proposal
An extension of the PDS Select: one new prop, variant, with bare next to default. Bare clears the border, fill and container; the label is hidden (still read by screen readers) and the trigger hugs the selected value and the list is as wide as its longest option. The value is secondary text at rest and default text on hover and while open. Everything else is the published Select, unchanged.
Built as a thin wrapper around the published Select (it passes a pds-select--bare class and turns showLabel off for the bare look; the width is CSS), not a copy of its source; see decisions.md.
Source
The designer, in session (2026-10-19): the Model Selector should be a proposed variant of the Select, without the border or container treatment.
Constraints
- Reuse the published Select; no new component.
- Tokens only, light and dark, keyboard operable, visible focus (the Select's own).
Open questions
See decisions.md.