Passed to SearchBar by AppHeader, which holds the query and decides
where a search leads.
expanded: boolean
value: string
onValueChange: (v: string) => void
onSubmit: (q: string) => void
Called with the trimmed query, never an empty one.
onCancel: () => void
Called when Escape is pressed in the input.