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

  1. Count — number in accent + noun (noun, already pluralised by the host via t('…', { count }); default „vybráno", whole filter „vybráno (celý filtr)").
  2. Vybrat všech N — ghost compact, only when the whole loaded page is selected and the filter has more (selectAll).
  3. Actions — ghost buttons with icon and label. Destructive actions stay ghost inline; red appears only in „⋮" and in the confirm dialog.
  4. ⋮ Další akce — MenuButton for overflow actions.
  5. × — 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). Without primary the first inline action stays.
  • Give destructive actions a confirm sentence with the count.
  • Use disabled + hint when 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í").
  • Table row (checkbox column), Segment table, Menu button, Confirm, FAB.

Source: docs/table/bulk-action-bar.usage.md · GitLab