Filter toolbar

A React component in Beamline's Data & tables category.

The filters on a list kept in view: chips that remove themselves, Add filter with fields and their values, Clear all, and room for search or view controls.

Use it for

  • Filtering a list or table by a few fields.

Not for

  • Filters inside a data grid's column headers.

Anatomy

  • toolbar
  • chips (field · value, remove)
  • Add filter menu (fields → values)
  • extra controls
  • Clear all

States

  • no filters
  • filtered

Keyboard

  • Toolbar of buttons; the menu has the usual keys

Motion

An added filter grows in, the others close up when one is removed, and the removed chip fades where it stood (useFlip).

Props

PropTypeDefaultDescription
filters{ id, label, value }[]—
onRemove / onClearAllcallbacks—
addFilter{ fields: { id, label, icon?, options }[], onAdd }—
childrenReactNode—
style / refCSSProperties / native Ref—native HTMLDivElement
classNamesFilterToolbarClassNames—
menuClassNamesMenuClassNames—Parts inside the portalled add-filter menu.

Dependencies

lucide-react

Import

import { FilterToolbar } from "@/components/filter-toolbar/filter-toolbar";

Get it

Filter toolbar is part of Beamline: 190 React components and screens your coding agent (Claude Code, Codex, Cursor or any MCP client) installs into your app through Beamline's MCP server, as a ready-built package or as plain React source you can change. $49 one payment (regular $200), no subscription, a year of updates, one licence for your whole team. Get Beamline · Connect your agent

More in Data & tables

  • Data grid: Virtualised grid for thousands of rows: multi-sort, search and value filters, resizable and pinnable columns, range selection, inline edit, footer…
  • Diff table: Proposed edits to a table before they happen: new rows green, removals struck through, changed cells old → new; each change can be left out and Apply…
  • Import mapping: Map the columns of a file to the fields of one record type, see what every value becomes, then run the import and get an outcome for each row…
  • Table: A plain, styled HTML table for small static data: header, body, footer, caption, numeric cells, three densities and a sticky header.