Overview
Use FilterBar to keep search, structured filters, reset, result feedback, and collection actions in one predictable area.
Project filters
Search and status update the matching collection while active values remain visible.
Anatomy
FilterBar combines a search field, labelled controls, active-filter summary, result feedback, and optional actions.
- 1Search
Finds records using familiar identifying text.
- 2Filter controls
Apply structured values through Select, DatePicker, or custom controls.
- 3Actions
Contains related collection actions such as export.
- 4Active filters
Shows applied values with individual removal.
- 5Result feedback
Announces the current matching result count.
When to use
Use FilterBar when a collection needs multiple coordinated ways to narrow or act on results.
Recommended
- Filter operational collections
Use above DataTable, List, or Card collections with repeatable fields.
- Keep active criteria visible
Let people understand why the result set changed and remove criteria individually.
- Support repeated refinement
Use when people adjust several criteria during one task.
When not to use
Prefer simpler controls when the collection has one obvious narrowing mechanism.
Avoid
- Do not use for one search field
Place a labelled Input near the collection instead.
- Do not use for form submission
Use a Form layout when values create or update a record.
- Do not hide essential navigation
Filters modify results; they do not replace destinations or tabs.
Variants
Surface and density variants adapt FilterBar without changing its composition or semantics.
Plain
Use when the surrounding page already provides containment.
Bordered
Defines the filtering region on open surfaces.
Raised
Adds emphasis above complex or scrolling collections.
Sizes
Small, medium, and large preserve accessible target sizes.
States
FilterBar communicates availability, applied criteria, responsive disclosure, and asynchronous result updates.
| State | Trigger | Visual response | Interaction |
|---|---|---|---|
| Default | No criteria applied | Empty search and default controls | Ready for refinement |
| Active | Search or filter has a value | Summary and reset appear | Criteria can be removed |
| Expanded | Mobile Filters action | Secondary controls become visible | Focus order follows visual order |
| Loading | Results are updating | Search progress and updating message | Current values remain visible |
| Disabled | Filtering is unavailable | Reduced emphasis | Built-in controls cannot activate |
| No results | No record matches | 0 results announcement | Criteria remain removable |
Behavior
FilterBar controls filter UI and announcements but leaves data fetching and domain-specific filtering to the application.
Search
Applications may debounce remote requests while keeping the value controlled.
Composition
Product teams supply controls appropriate to each field.
Responsive disclosure
Secondary filters collapse on narrow screens while search remains available.
Reset
One action restores every criterion to its default state.
Accessibility
FilterBar exposes a named search region, visible control labels, keyboard-operable removal, and polite result feedback.
| Key | Action |
|---|---|
| Tab | Moves through search, filter controls, summaries, reset, and actions. |
| EnterSpace | Activates disclosure, removal, reset, or toolbar actions. |
| Esc | Preserves the focused control’s native dismissal behavior. |
- Provide a visible label for search and every filter.
- Use native or accessible design-system controls.
- Announce result count changes politely.
- Give removal actions the filter name and active value.
- Keep collapsed filters out of the focus order.
- Maintain 44px minimum interactive targets.
Content guidelines
Labels and summaries should make applied criteria understandable without opening controls.
Name the field
Use concise nouns for filter labels.
Status
Use inclusive defaults
Make the unfiltered option explicit.
All statuses
Show label and value
Active summaries need enough context to stand alone.
Status: Active
Report useful results
Use the collection’s noun when it adds clarity.
12 projects
Examples
Compose controls from the design system and keep their values controlled by the collection owner.
Active project filter
Try search, status, individual removal, and reset in the live example.
Props / API
FilterBar extends div attributes; FilterBarFilter supplies a stable ID, label, control, and optional active summary.
Props