* initial setup of component
* initial styles applied
* add some initial docs
* small tweaks to story
* add some very initial tests
* tweaks to styles to add border bottom
* add some preact tests
* import default style in jsx, ignore in jest
* WIP - create MentionAutocompleteListener, attempt to position popover
* position dropdown correctly, exit selection in various scenarios
* refactor
* make sure cursor placed correctly after selection
* only import autocomplete when needed
* rename files, add jsdoc
* update tests and story notes
* tidy up scss file
* fix story styling
* fix aria label in story
* fix issue with key event not triggering in mobile
* position dropdown at input left if small screen
* fix issue with deleting and re-entering
* don't trigger search if directly following a letter or number
* stop change event being fired with highihted text
* move regex out of function into constant
* Added the @shared webpack alias to the project.
* Added some documentation.
* Fixed a copy paste error.
* Renamed @shared to @components.
* Update docs/frontend/webpacker.md
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Convert index.jsx to index.js as they are just barrel files.
* Removed prop types and eslint configs from code coverage.
* Using <root_dir> in test ignore patterns now.
* Added app/javascript/storybook-static to eslint's ignore list.
* Now .storybook is excluded from code coverage.
* Bumped coverage thresholds
* Fixed to <rootDir>
* Created barrel files so we can import directly from @crayons.
* Added stories for Dropdown for JSX.
* Tweaked Dropdown Storybook stories.
* Tweaked <Dropdown /> component.
* Added module mapping to jest for @crayons.
* Added tests for <Dropdown /> component.
* Removed Storybook custom decorator that is no longer required.
* adding more tests
- covers article.jsx and elements created from its props and state
- added png as static file that needs stubbing
* video + channelDetails test coverage
* chat + channels tests
* channels cc refactor
* yarn install
* update snapshot and string spacing
* chat.jsx test
mostly tests rendering elements
- does not test imported components, as those are already tested separately
- does not imported functions from actions or utils as those will be tested separately as well
* cleaning up
- mocked response with flush promises for state/component to reflect appropriate changes
* snapshot updates
* Works, but lots of cleanup/questions.
* Fixed comment.
* Only want the search script to load once with InstantClick active.
* Removed unnecessary DOMContentLoaded from copy paste.
* 🔧 Enabled (P)React Devtools.
* Updated comment about reactToEvent.
* Removed unnecessary server-side generated JS for search.
* <Search /> component now has component state.
* Search functions are in there own module now.
* 👷Refactor
* Render propped it up.
* Fixed issue with encoding of search term.
* Removed data-no-instant attr from script.
* 👷Refactor
* Now flash of search loading is avoided..
* Moved search under components folder.
* ✅Tests
* fixedEncodeURIComponent does not need to be exported.
* ✅Tests
* Folders to ignore from the VS Code Local History extension.
* ✅Tests
* Snapshot test for <Search /> component.
* ✅Tests
* Now the <SearchContainer /> handles the '/' key shortcut.
* Made the search box ID a prop defaulting to 'nav-search'
* Excluded barrel files from code coverage.
* Componentized search CSS.
* Storybook stories for <Search /> component.
* Removed extension folders to ignore.
* Fixed logic for "/" key triggering search.
* updated jest snapshot for <Search /> component.
* updated package.json lock file.
* Disabled the import/prefer-default-export rule.
* Now search term clears if not on a non-search results page.
* removed comment that is no longer valid.
* No longer using render prop for Search. Doesn't make sense as it's not stuff that is reused.
* Added preact-render-spy do dev deps.