* impr: replace JSONSchema with ajv for faster validation
* Remove JSONSchema from packages
* Add ajv in dev-dependencies
* move dep to frontend
* Fix validation schema for different languages and error messages
* fix double space
* different way of showing errors
* por que no los dos
* return on failed schema
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* initial rewrite
* remove title
* remove from dom on hide
* actual command dom
show active
keep active in view
update active index on keypress
* global event only shows commandline
* impr(dev): showing notifications with unhandled errors
* rename functions
* handle hover functions
handle nesting
handle exec
attaching handlers once
* void promise
* no need for async
* move font preview to ui
* add configkey to command
* add function to build single list
* add mouse mode
clearing preview on hide
add config icon
* using new function
* use fw icon
* fix incorrect type
* extract logic
* add support for input commands
* unused error
* update single list
* chevron icon margin
* only focusing when no popups and words are visible
* extract condition
* better type
* remove no icon
* only showing when nothing is already visible
* commandline lists no longer modify the commandline element
dynamically changing which funbox commnands are available
modified searching approach
showing active settings in single mode again
calling before list if needed
* ignore keydown on page transition
* add other ways to show the commandline
* always clearing previews
* incorrect icon being used
* extract logic
* support quick single list mode by starting input with >
* fix test words not being focused
* showing all if in quick single mode
* remove unused code
* rename entry to command
* remove more unused code
* add data- prefix
* rename to data-command-id
* fix input commands not refocusing words
* fix fontsize change not working as intended
* set active index to 0 when going back
* keeping active command in view
* remove console logs
* fix quick single mode
* move file
* add footer events
* add option for subgroup override
fix issue where commands would get hidden after clearing input field
fixed auto scrolling in mouse mode
* rename commands to lists
* add background after to avoid flashing
* getting config key from active subgroup
* updating active command after removing hidden class but before animating
* fix nasty hover behavior
* updating active before animation showing, keeping active after
* add keymap event
* remove comments
* invert if, use return, combine ifs to reduce nesting
* add test event
* popups events
* fix some commands not showing up on a single list
* use new animated modal
* use regex escaping function from misc
* add singlelistdisplay and singlelistdisplaynoicon properties
* add more navigation aliases
* not adding alias if not needed
* rework command filtering
* fix active icon not working
* add custom hide handlers
* fix active command not being kept in view after showing
* unused imports
* remove commandlinelists imports from other files
* delete old file
* remove unused file
* import commandline dynamically
* fix: if skeleton has wrapper, append before building animated modal
* using new parameters
* save skeleton on ready
* rename folder
* add util to get async modules
* remove empty imports
* remove unnecessary code
* unnecessary void
* catching errors and notifying user
* better error message
* making sure all the lists are fetched before getting the single command list
* add tab navigation
* feat: indicate premium users
* frontend
* Test multiple userFlags, remove later
* cleanup
* fix flag alignment on profile and leaderboards
* fix name auto scaling
* update screenshot watermark
* update header text
* use userFlags for lbOptOut
* use flex end
* removeo unused code, increase margin
---------
Co-authored-by: Miodec <jack@monkeytype.com>
Because of the RegEx, typing a command such as the language "code c" selects the item "code python" because the word "code" is being matched twice. This change makes it so that when an exact match of a `display` field is typed, it is selected (when I type "code c" I expect to be able to just hit enter but it selects "code python").
Co-authored-by: Jack <jack@monkeytype.com>