Tags v2 completion

Following the setup of the foundations for a new UI for v2, after !2909 (merged) we are now left with completing the support of the new tag pills. This is a follow up from #2390 (closed)

The goal is to reimplement the functionality from v1.4, using the newly designed UI components, and add UX improvement where appropriate.

  • The new tag pills are used consistently throughout the application and provide a feature-complete replacement for the prior implementation.
  • When I hover the empty space for adding a new tag, the cursor changes to text.
  • When the user presses SPACE or COMMA, the current edit is confirmed, and a new pill is added and opened.
  • Tags applied to objects cannot be deleted
  • When in the filter bar (searching objects by tags), only present tags can be entered (Also see no-custom prop idea
  • A reasonable matching function selects proposals.
  • Non-matches are only expanded when the input is shorter than 2 letters.
  • Use primary color instead of selected color to highlight best match, and fake-focus tab-indicator to indicate that ENTER chooses this existing option instead of the custom label
  • Bugfix: When pressing SPACE, COMMA or TAB, use the custom input, not the closest match
  • Bugfix: Do not suggest items already present in the current selection
Edited by Flupsi (they)