Bulk action bar
Floating pill at the bottom centre of a table or list that appears once rows are selected: the count, an optional „Vybrat všech N", the actions, „⋮" for the rest and × to clear the selection. One component for every list — BulkActionBar in apps/web/src/components/bulk/ — screens only pass their actions.
When to use
- A table or list where the user selects rows with checkboxes and acts on all of them at once (change owner, export, delete, archive, delegate…).
When not to use
- An action on one record — that belongs in the row (
SplitButton/Button compact) or the detail's top bar. - A screen without row selection; do not show an empty bar.
Anatomy
- Count — number in accent + noun (
noun, already pluralised by the host viat('…', { count }); default „vybráno", whole filter „vybráno (celý filtr)"). - Vybrat všech N — ghost compact, only when the whole loaded page is selected and the filter has more (
selectAll). - Actions — ghost buttons with icon and label. Destructive actions stay ghost inline; red appears only in „⋮" and in the confirm dialog.
- ⋮ Další akce —
MenuButtonforoverflowactions. - × — clears the selection (also Esc).
Position: fixed, bottom 24 px, centred on the parent (the table container), z 85 — above content, below toasts (90). Render it as a direct child of the table or list container.
Best practices
Do
- Put the most used actions inline and the rare ones in
overflow. - Mark the one action that must stay visible on a phone with
primary(Komunikace: Delegovat…, in Koš: Obnovit). Withoutprimarythe first inline action stays. - Give destructive actions a
confirmsentence with the count. - Use
disabled+hintwhen the selection cannot be acted on, instead of hiding the action.
Don't
- Don't build a screen-specific phone variant — on ≤ 720 px the bar itself keeps one inline action, moves the rest to „⋮", keeps × visible and hides the page FAB.
- Don't colour inline actions (no red, no primary fill): the bar is always on screen.
- Don't add a second bar or a top-bar „Export selected" next to it.
Content
- Labels are verbs: „Změnit vlastníka", „Exportovat", „Smazat"; dialogs end with „…".
- The noun is pluralised by the host (
komunikace:bulk.noun→ „3 zprávy"); a custom count line is allowed (Datamart: „3 členů · 2 noví").
Related
- Table row (checkbox column), Segment table, Menu button, Confirm, FAB.
Source: docs/table/bulk-action-bar.usage.md · GitLab