This commit fixes click issue in the autocomplete predictions list. The previous implementation relied on two event: blur event from the input and click even from the predictions list. Blur event happens before click event and because of this there was a listener to listen the current hover status. However, this strategy doesn't work in touch devices where there's no hovers.
The fix is to listen mousedown/mouseup (and touchstart/touchend) events and save the current "in progress" state to the component state.
- call onFocus/onBlur properly to set the `touched` flag correct for
validation messages
- Attempt to select a location if the user moves to another field
within a form
- Remove special handling for ESC