Vibe UI
Initializing Vibe UI System...

Button

A premium, interactive button component with variant and size configurations.

Button

A premium, interactive button component with variant and size configurations.

Preview

Installation

pnpm dlx vibe-ui-kit@latest add button

1. Styles & Variations

Presets

Explore the different preset variants of the Button component, designed for different roles, style frameworks, and visual hierarchies.

Sizes & Icon Placements

Buttons support different size configurations and can house leading/trailing icons or standalone icon styles.

States

Buttons transition cleanly through loading, disabled, and interaction states.


Props

PropTypeDefaultDescription
variant"default" | "secondary" | "outline" | "destructive" | "ghost" | "link" | "glass" | "glow" | "retro" | "gradient" | "cyberpunk" | "shimmer" | "shine" | "border-gradient" | "progress" | "spin-border""default"Visual preset theme variant of the button element.
size"default" | "sm" | "md" | "lg" | "icon""default"Size preset determining padding and height of the button.
asChildbooleanfalseIf true, merges styles and behavior onto its first child component instead of rendering a button tag.
classNamestring-Additional CSS class names to apply to the button.

Animation Speed Control

You can fully customize the speed of any animated button variant by overriding its respective CSS variable in your style attribute or custom classes:

| Variant | CSS Variable | Default Speed | | :--- | :--- | :--- | | shimmer | --shimmer-duration | 2.5s | | shine | --shine-duration | 0.75s | | progress | --progress-duration | 2s | | border-gradient | --border-duration | 4s | | spin-border | --spin-duration | 2s |

Example Usage

// Render a spin-border button that spins twice as fast (1 second duration)
<Button 
  variant="spin-border" 
  style={{ '--spin-duration': '1s' } as React.CSSProperties}
>
  Fast Spin
</Button>

Contributors

JS
Jenish Sabhadiya

Theme Customizer

8px
@theme {
  --radius: 0.5rem;
  --glass-blur: 8px;
}
Changes apply instantly to this documentation workspace.
Button | Vibe UI