Components › Forms & input › Button › Menu button

Menu button

canon

The one action menu of the app: a labelled button with a chevron, or the kebab „⋯“ (iconOnly), opening a menu of actions; no action is the default one.

AD + owner 28 Sep 2026 („sjednotit popover do menu-button“): Menu button is THE action menu — the row anatomy moved here from Popover. Row: .ic (icon | iconNode) · label (.tx > .nm when something is on the right) · .tag · .acrm-kbd (aria-hidden) · .chk (checked rows); variants danger (auto separator before the first danger row), strong, disabled + title (tooltip + aria-describedby); empty/loading row {empty} = .acrm-popover-empty. Kebab = iconOnly → canonical IconButton (sm / framed), label = aria-label + phone sheet title, aria-haspopup/expanded + stopPropagation by the component. „Dimmed but clickable“ rows do not exist. Phone = BottomSheet. Mechanical refactor moved 18 hand-built Popover menus onto it (acrm MR, 28 Sep 2026); sub-menu (mail „Přesunout do složky ›“, reservation „Předat…“), menu header (account menu) and insert menus wait for an approved shape (MR-B). History: FA204, 26 Sep 2026 (acrm !3890) 1:1 port of „Přidat aktivitu“ (P144, TL-12); custom trigger({open, menu, onClick}) acrm !3899 (dialog chip row, rail link !4014). forceMenu (menu even with one item) and danger items (2026-09-28, acrm !4088). Touch (AD 28 Sep 2026, acrm !4111): in the phone sheet a disabled item shows its title as a visible second line .acrm-popover-reason (--hint, --ink-600, aligned with the label, outside the button) — MenuItems sheet; desktop keeps the tooltip. 3 Oct 2026: MenuButtonItem count / countTone / muted / actions / actionsLabel (acrm !4527). Registry repaired 17 Oct 2026 (review F6): added exported MenuPanel to react[].

Used in 63 files · 33 areas · 69× — components/AppShell, components/FilterBar, components/NavItemMenu, components/ReservationControl, components/accounting, components/assistant …

Default

components--menu-button--defaultOpen standalone ↗Code

Variants

default — label + trailing chevron
with a leading icon
primary — at most once per container
ghost — quiet, where the action is secondary
icon only — kebab „⋯“ (IconButton sm), label = aria-label + sheet title
icon only, framed — window / toolbar
one item — no menu, a plain Button that runs it
components--menu-button--variantsOpen standalone ↗Code
row action + trailing ⋮, count, checked, muted (archived)
⋮ — the same panel drills into the row's actions
components--menu-button--row-actions-countOpen standalone ↗Code

States

open — items with the .ic glyph, groups split by .acrm-popover-sep
disabled
loading
Akce milníku
Milník je první
phone sheet — one line per item; a disabled item's reason is its title, never a second line
components--menu-button--statesOpen standalone ↗Code

Composition

Zatím žádná aktivitaNaplánuj schůzku nebo úkol, nebo zapiš kontakt.
components--menu-button--compositionOpen standalone ↗Code