[Logic/UX/UI] Filters - Multiselect "Contains" Operator Allows Only One Value

A multiselect field implies multi-value semantics i.e. that multiple selections are meaningful simultaneously. Therefore restricting it to a single value contradicts the presumably predominant user intent.

This is exactly what happens in the contains operator of multiselect field filters, as shown below in the second dropdown. For example, we cannot show entities tagged X AND Y in the second filter, whereas we can show entities tagged X OR Y in the first filter.

Fibery-multiselect-filter-contains

While contains any of naturally supports multiple values and joins them with OR when applying the filter logic, contains operators for a multiselect (also named contains all of e.g. at Hubspot) also support multiple values but join them with AND.

Current workaround

Currently to filter by a multiselect field that contains X AND Y AND Z, we need to create three filters.

Suggested Solution

Change multiselect fields’ contains filter value selector component from singleValue to multiValue and apply the AND logic when contains is used. Perhaps renaming to contains all of woudl be even more clear.

From what I have seen, this will be a non-breaking improvement, as current filters will continue to work, since the improved contains/contains all of that allows multiple values, will still both semantically and logically make sense when one value is selected.