Product Overlay Card

Orbit One

Orbit One

$189

Shop now
About this component

Product Overlay Card

A product card with a full bleed photo, overlaid name and price, and a floating pill button.

Usage

The import and the props worth knowing about, in one place.

import { Card25 } from "@/components/beste/component/card25";

// Button renders a <Link> when href is set, otherwise a <button>.
<Card25
  src="/products/orbit-one.jpg"
  name="Orbit One"
  price="$189"
  cta="Shop now"
  href="/products/orbit-one"
/>

<Card25
  src="/products/night-edition.jpg"
  name="Night Edition"
  price="$24/m"
  cta="Preorder"
  tone="primary"   // pill: "light" (default) | "primary"
  onClick={() => console.log("preorder")}
/>

Keyboard and gestures

Every one of these is in the component already. They are listed because a props table cannot mention a gesture, so nothing else on this page can tell you they exist.

HoverThe card lifts and the image scales inside its frame; `motion-reduce` turns the movement off.

Props

Read from the component's own type, so this cannot drift from what it accepts.

PropTypeDefaultDescription
src*string—Product photo, fills the whole card
name*string—Product name in the bottom left
pricestring—Price line under the name (e.g. "$189" or "$29/m")
cta*string—Pill button label
hrefstring—If set, the button renders as a link to this href
onClickReact.MouseEventHandler<HTMLButtonElement>—Button click handler (used when there is no href)
tone"light" | "primary"—Pill button color
classNamestring—Additional classes merged onto the root

More Card components

View all Card
Atlas Field Watch-22%

Atlas Field Watch

4.8
$249$320
LUMO

LUMO

Field Camera

Launching Friday

Join the waitlist

Join list