searchBarTextDidChange only fires when the user changes the text.
In the following scenario, clearEvent was not being fired:
1. User clears the text (clearEvent is fired)
2. Text is programmatically set to a non-empty string
3. User clears the text again (clearEvent is not fired)
This PR allows the clearEvent to fire at step 3.
I would also suggest that a separate event be used when the cancel button is clicked (cancelEvent), as cancel button being clicked does not imply that the text is or should be cleared.
- Use relative imports in place of most of our absolute ones.
- Add "private" ambient modules for modules that we need to import using
an absolute path (e.g. when app/.../test-something.ts needs to import
ui/styling/style-scope)