Narrowing a collection, one chip at a time

Each chip opens a popover of options. Active filters show their choice, grow a clear button, and flip to the action fill; a clear-all appears once anything is set. State is one map of filter id to active values, so wiring it to a table or a list is a single callback.

Wired to a collection

A controlled bar filtering the rows below it. Status and assignee take several values; priority is single-select and closes on choice.

Composer loses focus on pasteOpen
Dark-mode chart palette driftsIn progress
Sidebar badge miscounts draftsOpen
Globe drag stutters on trackpadsIn progress

Uncontrolled

With defaultValues the bar keeps its own state and reports every change. An empty map means unfiltered, so consumers never guess at sentinel values.

Compact

The compact size tightens the chips to Chip's compact paddings, for toolbars above dense tables.

Keyboard

The popovers are real listboxes driven from the chip: arrows move, Enter and Space toggle, Escape closes, and focus never leaves the trigger. Single-select filters close as soon as a choice lands.