sheengemologic ui
All components

Button

Triggers an action. Use a link for navigation.@gemologic/sheen · primitives

Playground

<Button loading={false} size="md" tone="neutral" variant="ghost">Cancel</Button>

Variant matrix

Quiet action
Primary action
Shortcut action
variant: solid
variant: soft
variant: outline
variant: ghost
variant: link
tone: neutral
tone: accent
tone: danger
tone: success
size: xs
size: sm
size: md
size: lg

Anatomy

Package
@gemologic/sheen
Source
packages/ui/src/primitives/Button.tsx
Tokens
  • --sheen-button-radius
  • --sheen-control-h-md
  • --sheen-color-accent

Accessibility

Role: buttonKeyboard: Enter, Space

Do

  • Keep existing content visible while an action is pending.

Do not

  • Do not use Button for URL navigation.

Generated props

NameTypeDefaultDescription
variantNonNullable<"solid" | "soft" | "outline" | "ghost" | "link" | undefined>ghostVisual treatment; solid accent actions should be rare.
toneNonNullable<"neutral" | "accent" | "danger" | "success" | undefined>neutralSemantic color role, independent of visual treatment.
sizeNonNullable<"xs" | "sm" | "md" | "lg" | undefined>mdDensity-aware control size.
loadingbooleanfalseMarks pending work and disables activation.
shortcutShortcutAction | undefinedTyped shortcut registration whose action invokes this native button; omitted controls remain ordinary buttons.
Native Solid/HTML attributes remain available and are omitted from this authored-prop view.