Skip to main content Skip to docs navigation

Button Group

Container components that organize multiple related buttons together as a unified control group with shared visual treatment and logical connection.

This documentation is a work in progress and may contain incomplete or outdated information. If you have any feedback or suggestions, please open an issue on GitHub.

Tokens

Standardized design system values that define consistent visual properties across button group components. These tokens ensure visual coherence while enabling flexible theme customization and brand adaptation.

Theming Tokens

Design tokens organized by category with color-coded labels indicating their scope and impact level. Each token includes detailed specifications with values, usage guidelines, and customization options.

Legend:
  • Granular tokens that affect only this component.
  • Granular tokens that affect other components.
  • Semantic tokens that affect the whole application.
  • Base tokens that affect the whole application.

Color

context:
default
Component TokenBase Token
color.button.default.fg-idle {color.context.default.fg-idle}
color.button.default.bg-idle {color.context.default.bg-idle}
color.button.default.border-idle {color.context.default.border-main}
color.button.default.fg-hover {color.context.default.fg-hover}
color.button.default.bg-hover {color.context.default.bg-hover}
color.button.default.border-hover {color.context.default.border-main}
color.button.default.fg-press {color.context.default.fg-press}
color.button.default.bg-press {color.context.default.bg-press}
color.button.default.border-press {color.context.default.fg-idle}
color.button.default.fg-disabled {color.context.default.fg-disabled}
color.button.default.bg-disabled {color.context.default.bg-disabled}
color.button.default.border-disabled {color.context.default.transparent-color}

Typography

Component TokenBase Token
font.button.medium {font.text.medium.strong}
font.button.large {font.text.large.strong}
font.button.small {font.text.small.strong}

Sizing

Component TokenBase Token
size.button.medium-icon {size.unit.24}
size.button.medium-caret {size.unit.20}
size.button.large-icon {size.unit.28}
size.button.large-caret {size.unit.24}
size.button.small-icon {size.unit.20}
size.button.small-caret {size.unit.16}

Spacing

Component TokenBase Token
space.button.medium-padding-y {space.unit.8}
space.button.medium-padding-x {space.unit.12}
space.button.medium-gap {space.unit.8}
space.button.medium-nudge {space.unit.4}
space.button.large-padding-y {space.unit.10}
space.button.large-padding-x {space.unit.16}
space.button.large-gap {space.unit.12}
space.button.large-nudge {space.unit.4}
space.button.small-padding-y {space.unit.6}
space.button.small-padding-x {space.unit.8}
space.button.small-gap {space.unit.4}
space.button.small-nudge {space.unit.4}

Border Width

Component TokenBase Token
borderWidth.button.main {borderWidth.context.medium}

Border Radius

Component TokenBase Token
borderRadius.button.medium {borderRadius.base.button.medium}
borderRadius.button.large {borderRadius.base.button.large}
borderRadius.button.small {borderRadius.base.button.small}