Preview controls could not be applied. The static default fixture remains available.
§01
Contract
Semantics first
Anatomy
Renders role=group by default; callers may supply a more specific role and should label the group when its purpose is not obvious.
Consumer classes, styles, and data attributes may extend the surface, but required roles, IDs, relationships, and handlers remain owned by the component.
Keyboard
Tab visits each enabled button in normal order.
Buttons retain their own Enter and Space behavior; the group does not install roving focus.
§02
Public surface
API & styling
Props
id
Explicit IDs override stable generated IDs.
class / style
Consumer additions compose with required styles.
ref
Element or callback where focus control is expected.
children
Typed content; raw HTML strings are never rendered.
Slots & events
children
Primary content slot.
onChange
Typed value plus a small reason object when state changes.
There is no stable predecessor for this explicit compiled subpath. The v1 compatibility layer remains tested separately; visual and API diffs begin with the next prerelease.