Menu button
canonThe 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 …
@acrm/ui <MenuButton> <MenuItems> <MenuPanel>.acrm-popover-item .acrm-popover-item.danger .acrm-popover-item.strong .acrm-popover-sep +3SourceStoryChangelog since 28. 9. 2026
- 19. 10. 2026polish(ikony): řady ikon → IconButton secondary jedné velikosti (ACRM-542)packages/ui/src/components/MenuButton.tsxŠtěpán · d182ee221
- 6. 10. 2026feat(record-actions-menu): jeden spouštěč ⋮ v liště detailu, jeden symbol „více", nabídka akcí bez uříznutého řádkupackages/ui/src/components/MenuButton.tsxŠtěpán · ee5b60352
- 3. 10. 2026refactor(ds): historie vláken asistenta = kanonický MenuPanelpackages/ui/src/components/MenuButton.tsxŠtěpán · 641e6b744
- 1. 10. 2026refactor(ui): holy Popover -> kanon (vlna 3) + nabidka v dialogu = panel v suplikupackages/ui/src/components/MenuButton.tsxŠtěpán · 5a55c030f
- 30. 9. 2026refactor(ui): holy Popover -> MenuPanel / PickerMenu (vlna 1)packages/ui/src/components/MenuButton.tsxŠtěpán · 68f8af2be
- 28. 9. 2026refactor(web): účet, pošta, sloupec, telefon, přetečení chipů → MenuButton (podnabídka, hlavička, přepínač)packages/ui/src/components/MenuButton.tsxŠtěpán · c02f61b41
- 28. 9. 2026feat(ui): MenuButton — podnabídka (drill-in), hlavička identity, přepínač v řádkupackages/ui/src/components/MenuButton.tsxŠtěpán · 918c81268
- 28. 9. 2026fix(ui): položka nabídky = jeden řádek, bez šedé vysvětlivky (ACRM-375–377)packages/ui/src/components/MenuButton.tsxŠtěpán · 1a87decfc