SIGN IN SIGN UP

select: Look up a value in all items, not the search results (#2670)

## Problem

`SelectState::set_selected_value` asks the delegate for the position of
a value, and a delegate answers from its matched items. With a search
query active, that position is an index into the filtered view, so the
Select picks the wrong row — or nothing at all when the value is
filtered out.

Along the way: `ListState::set_query` documents that it triggers a
search, but it only wrote to the input. `InputState::set_value` does not
emit `InputEvent::Change`, so no search ran.

## Fix

- `set_selected_value` clears an active query first, so the lookup runs
against the full item list.
- `set_query` starts the search itself, which is what its doc already
promised.

The search body moves out of the input-event handler into `start_search`
unchanged, so both callers share it.

## Test

Two tests in `crates/ui/src/select.rs`: a flat list and a grouped list,
both selecting a value that the active filter had hidden. Both fail
without the fix.

Closes #2522, #2627

AI-generated with Claude Code, reviewed by hand.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
J
Jason Lee committed
bc3f22927a2c389ec9f53f01a02e3338bb8ff065
Parent: 8e20e3b
Committed by GitHub <noreply@github.com> on 8/10/2026, 10:31:02 AM