Navigation

Uplift UI Docs

Shockwave Button

A dynamic button with animated shockwave ripples, particle burst, and flash effects. Perfect for interactive, creative, and playful UIs.

Demo

Interactive Demo

Click to see the animated shockwave, particle burst, and flash effect.

Installation

Install the required dependencies to get started:

bash
Loading...

Type Integration

Create a lib folder at the root of your project and add a types.ts file with the following interface. This interface is used by all button components for consistent props and TypeScript support.

typescript
Loading...

Usage

Import and use the ShockwaveButton component in your Next.js application:

tsx
Loading...

Props

PropTypeDefaultDescription
childrenReact.ReactNode-Button content (usually text or icon).
onClick() => voidundefinedClick handler for the button.
classNamestring""Additional CSS classes for the button.
disabledbooleanfalseDisables the button if true.
type"button" | "submit" | "reset""button"Button type attribute.

Features

  • Animated shockwave ripple effect on click
  • Particle burst explosion on click
  • Flash highlight effect
  • Gradient background and rounded corners
  • Framer Motion-powered transitions
  • Customizable label and style
  • TypeScript support
  • Production-ready and accessible

Dependencies

Next.js 15+
Framer Motion
Tailwind CSS (recommended)
TypeScript (recommended)