Components › Forms & input › Button › Split button

Split button

canon

Main action plus a chevron that opens a menu of related variants of the same action.

Approved by the owner 26 Sep 2026 („za me ok . schvaleno“, preview button-compact-split) and delivered in acrm !3903. Reverses review ACRM-81 (no use case then) on the owner’s request; pattern Atlassian Split button. Menu items shared with Menu button (one menu in the family). First adopter: mail „Odeslat hned / s odkladem“. Registry repaired 17 Oct 2026 (review F4/F11): attached css button.css.

Used in 4 files · 3 areas · 5× — components/mail, components/setkani, pages/komunikace

Import

import { SplitButton } from '@acrm/ui'

Props

SplitButton packages/ui/src/components/SplitButton.tsx

NameTypeDefaultDescription
children *ReactNode—Popisek hlavní akce (smí nést glyf).
onClick *() => void——
items *MenuButtonItem[]—Nabídka pod šipkou (týž tvar jako MenuButton). Bez checked = varianty téže akce (klik provede), s checked = volba režimu hlavní akce (radio). Nemíchat v jedné nabídce.
moreLabel *string—Přístupný název šipky, např. „Další možnosti odeslání". Povinný — šipka nemá text.
variant'default' | 'primary''default'—
compactboolean——
disabledboolean—Zhasne hlavní akci. Šipku taky, pokud moreDisabled neřekne jinak.
moreDisabledbooleandisabledŠipka zvlášť — výchozí = disabled. U volby režimu typicky false.
loadingboolean—Hlavní akce běží (<Button loading>: osmička přes popisek, šířka drží, aria-busy).
kbdReactNode—Klávesová zkratka hlavní akce (<Button kbd>).
describedBystring—aria-describedby hlavní akce — např. věta, proč je zhaslá.
classNamestring——

CSS classes

.acrm-split.acrm-split-more.acrm-split.compact

Files