Components › Forms & input › Filter › Filter bar

Filter bar

canon

Row of filter chips with add, reset and save controls.

React implementation lives in the app (apps/web/src/components/FilterBar.tsx), not in @acrm/ui. Phone (owner 2026-09-28, acrm !4088): with onOpenChange the bar is the bottom sheet „Filtry" (search, conditions with ⋮ Odebrat, Přidat filtr, Vymazat vše, Hotovo); the Filtr toggle shows a neutral CountBadge, Řadit (SegmentScreen) a sort sheet; „Uložit pro všechny" moves to the bar's ⋮ (phoneOnly). „Vymazat filtry" = Button ghost tone muted. Desktop unchanged. 14 Oct 2026 (owner "24c approved", proto/lista-vypisu@a16fe17a7, acrm !5045): no word labels — Filtr = icon (+ dot), Seskupit/Řadit/Zobrazení = icon + chosen value, field name only in aria-label/tooltip; open row: chip = field icon + value, „+" and „×" icons; closed by default, „Jen moje" is a chip inside Filtr. Dev check 14 Oct on /tasks /pipeline /objednavky /setkani /lide, 1440 + 390: 0 label words, no overflow. Registry repaired 17 Oct 2026 (review F2): removed classes with no CSS definition and no TSX use on main: .fb-add, .fb-reset, .fb-save.

Used in 23 files · 21 areas · 48× — components/communication, components/datamart, pages/AccountingInvoicesPage, pages/AccountingReceivedInvoicesPage, pages/AsistentAuditPage, pages/DokumentyPage …

Default

components--filter-bar--defaultOpen standalone ↗Code

Variants

empty bar — add a filter and the chip appears already filled in (Notion: a chip without a value does not exist)
always-open search in the bar (.fb-search — field kind 'text', inline)
conjunction between chips — click it: „a zároveň“ turns into „nebo“ and the two chips merge into one tinted group — the bar stays 47px tall either way (ACRM-43/49)
host without segments — no „Uložit pro všechny“, only reset
components--filter-bar--variantsOpen standalone ↗Code

States

empty — no filter set, so no „Vymazat filtry“ and no „Uložit pro všechny“
chip with an open menu (.open)
long value — clipped at 148px, the chip never grows past it
toggle chip in the Section top bar (.lst-toggle) — the accent dot means „a filter is on“
disabled toggle chip — the look comes from .lst-toggle:disabled (ds/list-view.css)
components--filter-bar--statesOpen standalone ↗Code

With icon & kbd

every chip carries the field icon on the left and a chevron on the right — both are part of the chip, not optional decoration
The bar actions carry icons too: plus (add), x (reset), users (save for everyone). The bar has no keyboard shortcut chips — Escape closes an open menu, Enter confirms a typed value.
components--filter-bar--with-icon-and-kbdOpen standalone ↗Code

Composition

Obchody
Closing the bar does not switch the filters off — the accent dot on the toggle chip says they are still on.
components--filter-bar--compositionOpen standalone ↗Code