ButtonGroup

A joined row/column of buttons — a controlled segmented selector or an action toolbar. Composes Button; the selected state is a variant-swap (filled vs ghost), not a CSS override.

Single-select (segmented)

select="single" + bind:value. Exactly one item fills; arrow keys move the selection. Active: left.

Multi-select (toggle)

select="multi" + bind:values. Each selected item fills; icon-only rows. Active: [bold].

Action toolbar + split-button

select="none" — each item runs its onclick. Export has a menu, so it renders as a split button (caret opens a Menu).

Split-button dropdown — [ action ][ ▾ ]

The classic "primary action + dropdown of alternatives" (what a standalone ButtonDropdown would be). Build it from two items: a normal action item (here with loading), plus a menuOnly item — a caret-only cell whose click opens a Menu. The menu uses a { divider: true } separator. Click Save to see the loading state.

Slot (hand-authored)

Drop Buttons inside for the joined frame; you own behaviour + selected styling (select is items-only). Active: list.

Code