This will allow the search suggestion to hook up to multiple search
boxes with `.citizen-search-box` as container. Do note that the default
Citizen suggestion is hardcoded for the primary search, so it only
works for the old core search suggestion module.
This is also a prereq for implementing the Codex search like the one
from Vector.
Mostly based on Vector 2022. Now we target checkbox hacks by the HTML classes
.mw-checkbox-hack-TYPE instead of defining each individually, which would
make it more scalable.
* feat: rewrite search module (WIP)
There are some caveats because it is a WIP
- Messages are not i18n yet
- Missing placeholder suggestion thumbnail
- Only REST mode works
- Missing greeting message when there is no search query
- Code might look like a mess (I learned JS not long ago)
* refactor: remove old search module
* feat: clean up search suggestion styles
* feat: hide overflow for suggestion text
* feat: add action API and various cleanup
* feat: re-add abort controller
* feat: add message support and tweaks
* feat: use virtual config instead of ResourceLoader hook
* fix: missing comma in const definition
* feat: add ARIA attributes