NimUI
ComponentsData Display

FilterSummary

Active filter chips with removable values and clear-all behavior for admin tables

The FilterSummary component keeps active search and table filters visible after the filter menu closes. Use it below DataToolbar so operators can remove individual constraints without losing table context.

Import

import {
  FilterSummary,
  FilterSummaryClear,
  FilterSummaryItem,
  FilterSummaryList,
} from '@nim-ui/components';

Basic Usage

Active Filters
StatusOpen
RiskHigh
WarehouseBKK-02
Code
<FilterSummary aria-label="Active order filters">
  <FilterSummaryList>
    <FilterSummaryItem label="Status" value="Open" onRemove={removeStatus} />
    <FilterSummaryItem label="Risk" value="High" onRemove={removeRisk} />
    <FilterSummaryItem label="Warehouse" value="BKK-02" onRemove={removeWarehouse} />
  </FilterSummaryList>
  <FilterSummaryClear onClear={clearFilters} />
</FilterSummary>

DataToolbar Integration

Search and Active Filters
StatusOpen
RiskHigh
Code
<DataToolbar aria-label="Order table controls">
  <DataToolbarSearch>
    <Input placeholder="Search orders" aria-label="Search orders" />
    <DataToolbarMeta>184 results</DataToolbarMeta>
  </DataToolbarSearch>
  <DataToolbarActions aria-label="Order actions">
    <Button variant="outline" size="sm">Export</Button>
  </DataToolbarActions>
</DataToolbar>
<FilterSummary aria-label="Active order filters">
  <FilterSummaryList>
    <FilterSummaryItem label="Status" value="Open" onRemove={removeStatus} />
    <FilterSummaryItem label="Risk" value="High" onRemove={removeRisk} />
  </FilterSummaryList>
  <FilterSummaryClear onClear={clearFilters} />
</FilterSummary>

Empty State

No Active Filters

No filters applied

Code
<FilterSummary aria-label="Active filters">
  <FilterSummaryList emptyText="No filters applied" />
</FilterSummary>

Props

FilterSummary

NameTypeDefaultDescription
aria-labelstring-Accessible label for the active filter region.
classNamestring-Additional classes for spacing, width, or layout integration.
children*ReactNode-FilterSummaryList and optional FilterSummaryClear.

FilterSummaryItem

NameTypeDefaultDescription
label*ReactNode-Filter field label such as Status, Risk, or Warehouse.
value*ReactNode-Visible active value for the filter.
onRemoveMouseEventHandler<HTMLButtonElement>-Called when the remove button is pressed.
removeLabelstring-Custom accessible label for non-text labels or values.

FilterSummaryList

NameTypeDefaultDescription
emptyTextReactNode'No active filters'Compact empty copy shown when no filter chips are rendered.

Backoffice Guidance

  • Place FilterSummary below DataToolbar, not inside search inputs or menus.
  • Keep filter labels short and values scannable.
  • Always provide either per-filter remove callbacks or a clear-all action when filters are active.
  • Use removeLabel when label or value content is not plain text.

On this page