Design a composable autocomplete component.
Component tree:
Autocomplete
├── Input
├── SuggestionList
│ └── SuggestionItem
├── LoadingIndicator
└── NoResults
Props interface:
<Autocomplete
value={query}
onChange={setQuery}
onSelect={handleSelect}
getSuggestions={fetchSuggestions}
renderItem={item => <CustomItem {...item} />}
debounceMs={300}
/>
Design decision: Make it composable. Allow custom rendering of suggestions.