Context
Market selectors, pool tables, command surfaces, and future transaction history
all need search input. Rebuilding clear buttons, keyboard behavior, loading
feedback, and result counts in each feature leads to inconsistent interactions.
Scope
- Add a
SearchField composed from the shared Input, IconButton, and Spinner.
- Support controlled value, clear action, loading state, and optional result count.
- Provide compact and default sizes.
- Define accessible behavior for search submission and live result updates.
Acceptance criteria
- The control uses the native search input type and has an accessible label.
- Escape clears a non-empty query without unexpectedly closing a parent overlay.
- Clear and loading controls do not change the input width.
- Result-count announcements are debounced and do not fire on every keystroke.
- Tests cover typing, clearing, Escape, loading, disabled, and announcement behavior.
Out of scope
- Implementing filtering, debouncing network requests, or fetching results.
- Replacing the Combobox input for selection workflows.
Context
Market selectors, pool tables, command surfaces, and future transaction history
all need search input. Rebuilding clear buttons, keyboard behavior, loading
feedback, and result counts in each feature leads to inconsistent interactions.
Scope
SearchFieldcomposed from the shared Input, IconButton, and Spinner.Acceptance criteria
Out of scope