Warp CTA, animated React component
A deploy button that goes to warp. Hover and the drive spools up on a smooth spring: stars drifting toward you draw out into streaks of true motion blur from a vanishing point that eases after your pointer, and a hairline of light on the rim follows you round. Click and the streaks run long into a bloom while the deploy runs, then draw back into stars when it lands. Give it onDeploy and the jump lasts until your promise settles.
- Pro
- Inputs & Controls
- Hover
- Spring
The drive spooling up as you hover, a rush on the jump and a settling note on arrival. Sound is off on this site until you switch it on.
Play with it
Move the controls and watch it change. Copy code gives you a snippet with only the props you changed.
Props
| Prop | Type | Default | What it does |
|---|---|---|---|
| title | string | "Ready to ship" | The heading above the button. |
| detail | string | "main is 3 commits ahead of production" | The line under the heading. |
| label | string | "Deploy at warp speed" | The words on the button. |
| onDeploy | () => Promise<unknown> | void | — | Runs on press. If it returns a promise, the jump lasts until it settles (at least a second). |
| enableSound | boolean | true | The drive spooling up, the jump and the arrival. They also follow the site-wide sound switch. |
| volume | number | 0.8 | Sound level, 0 to 1. |
| autoplay | boolean | false | Spools up and jumps by itself now and then until the visitor touches it. Never runs under reduced motion. |
| className | string | — | Extra classes for the card. |
Add it to your project
- 1
Set up your project once
You need a Next.js project with Tailwind CSS and the
@/import alias. In its root folder, run this once. It createscomponents.jsonand thecn()helper insrc/lib/utils.ts:npx shadcn@latest init -d
Starting from nothing? The Quick Start walks through the whole thing.
- 2
Connect the registry with your API key
Warp CTA is a Pro item, so the CLI has to send your API key. Do this once per project:
- Create a key at nexus-ui.com/dashboard/api-key. Copy it straight away: it starts with
nxs_and is shown only once. - In your project root, next to
package.json, create a file named.env.localwith this line, using your own key:NEXUS_API_KEY=nxs_your_key_here
- Open
components.jsonand add this entry inside the outermost braces, next to"aliases". Leave{name}and${NEXUS_API_KEY}exactly as written; the CLI fills them in:"registries": { "@nexus-labs": { "url": "https://www.nexus-ui.com/api/registry/{name}", "headers": { "Authorization": "Bearer ${NEXUS_API_KEY}" } } }
- Create a key at nexus-ui.com/dashboard/api-key. Copy it straight away: it starts with
How Warp CTA works
A deploy button that goes to warp. The button is a window onto space. Move over it and the drive spools up on a smooth spring: the stars, which drift toward you as points, draw out into streaks of true motion blur that pour from a vanishing point easing after your jumps: the streaks run long and a bloom opens from the centre while the deploy runs, then the drive spools down and the streaks draw back into stars beside the result.
The source, the install command and the build prompt come with Pro.
Warp CTA questions
Does it make sound, and how do I turn it off?
The drive spooling up as you hover, a rush on the jump and a settling note on arrival. Sounds are synthesised with the Web Audio API, so there are no audio files, and they only play after a click or key press. Pass `enableSound={false}` to silence this component, or call `setSoundsEnabled(false)` from `@/lib/ui-sounds` to switch every sound off at once. The CLI installs `@/lib/ui-sounds` with the component.