Corpora UI
Atoms

Button

Displays a button or a component that looks like a button.

Use the controls to explore the Button atom's props, variants, and sizes.

loading
disabled
sound

Props

The Button supports multiple variants (default, destructive, outline, secondary, ghost, link), sizes (default, sm, lg, xl, xs, icon, icon-sm, icon-lg, icon-xl, icon-xs), states (loading, disabled), and a glass variant with its own styling options.

Variants

VariantDescription
defaultPrimary button with shadow and hover effects.
destructiveRed destructive button for delete or dangerous actions.
destructive-outlineOutlined destructive button.
outlineStandard outlined button.
secondarySecondary button with a lighter background.
ghostMinimal hover-only button.
linkUnderlined link-style button.
glassTransparent glass effect; accepts glassVariant.

Size options

SizeDescription
defaultStandard size with padding.
smSmall size with reduced padding.
lgLarge size with increased padding.
xlExtra-large size.
xsExtra-small size.
iconStandard icon-only size.
icon-sm, icon-lg, icon-xl, icon-xsIcon-only sizes matched to the text-button scale.

Special variants

All glass finishes use @samasante/liquid-glass. The material sits inside the interactive element, preserving button sizing, focus, and link rendering. Chrome and Edge refract the live backdrop; Safari and Firefox retain frost, tint, and edge lighting.

Glass variantDescription
clearLight tint with edge lighting.
frostedBlurred background.
subtleMinimal glass effect.
liquidStronger refraction with a light frost.
liquid-refractRefracting liquid effect; the default.

Usage

This UI module is also available from @exegia/corpora-ui/ui/button.

import { Button } from "@exegia/corpora-ui"

<Button variant="default">Default Button</Button>
<Button variant="destructive">Delete</Button>
<Button variant="outline">Outline</Button>
<Button variant="secondary">Secondary</Button>
<Button variant="ghost">Ghost</Button>
<Button variant="link">Link</Button>
<Button variant="glass">Glass</Button>

API reference

PropTypeDefaultDescription
variant"default" | "destructive" | "destructive-outline" | "outline" | "secondary" | "ghost" | "link" | "glass""default"Visual style of the button.
glassVariant"clear" | "frosted" | "subtle" | "liquid" | "liquid-refract""liquid-refract"Glass finish. Only accepted when variant is "glass".
soundbooleantrueEmit cuelume press/release sound attributes. Silent until the app calls bindSounds().
size"default" | "sm" | "lg" | "xl" | "xs" | "icon" | "icon-sm" | "icon-lg" | "icon-xl" | "icon-xs""default"Size of the button.
loadingbooleanfalseShows a spinner (inline for text sizes, overlaid for icon sizes) and disables the button.

Last updated on

On this page