Skip to content

New301 animated icons, 75 free. See the icons ›

Nexus UI

Bloom Gift Card, animated React component

A gift card with a flower bud on it. Tilt it with the pointer; press and hold to open it and the bud swells and trembles, then blooms in 3D, petal ring by petal ring, to show the amount in the middle with a puff of pollen. Let go early and it closes up again. Keyboard: hold Space or Enter on the button.

  • Pro
  • Cards
  • 3D
  • Hover

Play with it

Move the controls and watch it change. Copy code gives you a snippet with only the props you changed.

Let go early and it closes back up.

Props

PropTypeDefaultWhat it does
amount50The amount shown in the component.
currency"$"The currency shown in the component.
to"Sam"The to shown in the component.
from"Maya"The from shown in the component.
brand"Petal & Co."The brand shown in the component.
last4"2948"Last four of the card number.
holdFor1.3How long to hold, in seconds.
onClaim—Called when the visitor uses claim.
autoplayfalsePlays a demo by itself until the first touch. Held still under reduced motion.
className""Extra classes for the outer element.

Add it to your project

  1. 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 creates components.json and the cn() helper in src/lib/utils.ts:

    npx shadcn@latest init -d

    Starting from nothing? The Quick Start walks through the whole thing.

  2. 2

    Connect the registry with your API key

    Bloom Gift Card is a Pro item, so the CLI has to send your API key. Do this once per project:

    1. Create a key at nexus-ui.com/dashboard/api-key. Copy it straight away: it starts with nxs_ and is shown only once.
    2. In your project root, next to package.json, create a file named .env.local with this line, using your own key:
      NEXUS_API_KEY=nxs_your_key_here
    3. Open components.json and 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}"
          }
        }
      }