* Prep work to sync mobile search in #10424
* Added a comment about the custom search event.
* Refactor to fix already defined error caused by const and InstantClick.
* Moved <SearchFormSync /> out of the pack file.
* Fixed broken tests.
* Renamed getInitialSearchTerm utility function to getSearchTermFromUrl
* Added some API docs to getSearchTermFromUrl
* Fixed a typo.
* Added some more API docs.
* Switched to a custom event so a custom payload can be passed.
* Added some API docs.
* Fixed bad destructuring statement.
* wip for some more tests.
* Refactored getSearchTermFromUrl to use URLSearchParams
* lazy loaded state for search term initial value.
* test broken still. Need to think on it.
* filterXSS is now set up in testSetup.js
* Fixed tests.
* Added the @utilities alias to Storybooks webpack config.
* Almost 100% coverage with two useful tests.
* Added some comments explaining document.body usage in the tests.
* Fixed issue where search attemps to get results on first load.
* Small refactor for setting the window.location in tests.
* Clarified an explanation in a comment.
* Fixed unhandled rejection in <ImageUploader /> test.
* Fixed <FollowUsers /> tests.
* Fixed the tests for the <RequestManager /> component.
* Fixed unhandled rejection in search utilities.
* Added an unhandledRejection listener so tests will fail if a Promise fails.
* Added a comment about why you might get an unhandled rejection exception.
* Now Preact dev tools are injected into development bundles.
* Updated frontend debugging documentation.
* Updated frontend debugging documentation wording.
* Allow authors to restrict which emails can sign up
* Add form and tests
* Check for email presence in allowed email flow
* Fix test domains
* Fix codeclimate issue
* Genericize AdminConfig Modal
* Rename function, add JSDoc documentation
* Tests for modal-building function
* Still trying to get jest test to pass
* Fix failing jest test
* Hooked "Enable" button to hidden checkbox
* Hooked "Close" button to close email settings and show "Enable/Edit" button
* Additional hookups
* Start building generalized Modal blocks
* Everything hooked up except styling and a few Qs
* last of the hookups; ensure logic flow
* clean up
* specs to cover email auth refactor
* Fix bug surfaced by Vaidehi
* Incorporate PR feedback
* prevent email auth disable if invite-only-mode
* adjust emailAuthModal body text
* Sundry improvements
* Last-mile tweaks
* Trying to get 3rd party auth deselect to work
* delete unnecssary function
* remove superfluous comment
* Move inline styling into CSS file
* Incorporate PR feedback
* Incorporate more PR feedback
* Make Confirm btn intent clearer
* Add TODO comment
* Add page-header padding and overflow-x for tabs
* Split into two moderator files and move into Views folder
* Add page-header padding style
* Increase font size of crayons-tag on small screen
* Improve small screen view of menu and grid rows in mod center
* Fix date alignment
* Update after first PR revision
* Re-update
* Fix stylesheet reference
* Move to new keyboard shortcuts
* No longer required
* Import order
* Import order
* Add trailing comma
* Remove keyboardShortcutsHandler from exports
* Remove pointless arrow function
* Create keyboardShortcuts.jsx
Add handler for keyboard shortcuts
* Match github's hotkey style
Makes objects clearer.
* Update keyboardShortcuts.jsx
* Allow single character shortcuts
update to allow single character shortcuts/hotkeys
* Add component documentation
Add inline documentation for the component.
* Fix example typo
* Move keyboardShortcuts to a hook
* Fixed useKeyboardShortcuts example
* Rename keyboardShortcuts.jsx to useKeyboardShortcuts.jsx
* Rebuild
* Move isFormField outside render cycle
Move the isFormField function outside of the render cycle.
* Prevent event listener on empty object
Don't add an event listener if the shortcuts property is an empty object or is null
* Add tests for useKeyboardShortcuts
Initial pass for adding tests to useKeyboardShortcuts
* Missed unmount
Missed a whole word...
* Fix typos
* Convert function type
* Add new test cases.
* Missing brackets
* Typo
* Update useKeyboardShortcuts.test.jsx
* Move event listener to document
* Update tests
* Use testing-library/user-event
* Correct fireEvent
* Update keyDown
* Slight tidy
* Change order, just in case
* Swap to render
* Make function async
* Rerun travis
* Add rerender
* Fix render function
* check event.key for fallback