BridgeHandbookDraft
For agents
Menu
ExperimentalmoleculeData

ColumnFilterMenu

A table column header that filters its own rows.

import { … } from "@brdgapp/ui/components/column-filter-menu"

Usage

ColumnFilterMenu is a table column header that filters its own rows: the column's icon and name with a chevron, opening the same single-choice menu as FilterPill. When a filter is on, the label turns blue and a dot appears, so it's visible without opening the menu.

When to use

  • A column whose values are a short fixed list: category, status, source.

When not to use

Anatomy

  1. Header. Icon, 12px Bold label, a blue dot when filtered, a chevron.

  2. Menu. 220px wide, aligned to the header's left edge, scrolls past 320px. Same rows as FilterPill.

Examples

Filter the Category column

Filters the sample intros.

8 of 8 intros

States

RestHoverFocus
All
Filtered
StateWhat happens
AllSecondary label.
FilteredBlue label and icon, a blue dot.
OpenChevron flips; the column's tooltip is hidden so it doesn't cover the menu.

Behavior

  • Built on Base UI Menu with radio items, like FilterPill.
  • The header's click doesn't reach a clickable row behind it.

Do and don't

Do

Show the filtered count near the table ("3 of 8 intros").

Don't

Filter silently, so rows just vanish.

Content

  • First option: "All {things}".

Accessibility

  • Its name includes the state: "Filter by category: Sales".
KeysAction
EnterSpace↓Open.
↑↓EnterChoose.
EscClose.

API reference

ColumnFilterMenu

The filtering header.

PropTypeDefaultDescription
iconLucideIcon—The column's icon component.
labelstring—The column name.
tooltipstring—Explains the column.
valuestring—The chosen option.
options{ value, label }[]—The first is "All".
onChange(value) => void—Called with the new choice.
…other attributesid, aria-*, data-*, event handlers—Passed to the button. The component's own props win where they overlap.

Lineage

What it's built from and where it's used, read from the code. When you change it, check these too.

Used by components
None
Used in patterns
Search, filter and sort
Used in templates
None

Sources

  • Bridge OS components.md → ColumnFilterMenu; src/components/ui/column-filter-menu.tsx.