Components/Data Display
Surface with header, content and footer slots and a lit edge.
Usage this month
Oct 1 – 31Pro plan · resets in 20 days
$38.20
Estimated bill, including $18.20 in overages
Installation#
npx shadcn@latest add https://get-neonkit.vercel.app/r/card.jsonUsage#
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
<Card>
<CardHeader>
<CardTitle>Usage this month</CardTitle>
<CardDescription>Pro plan · resets in 20 days</CardDescription>
</CardHeader>
<CardContent>…</CardContent>
</Card>Examples#
Pricing
glow adds a neon border and ambient light. Use it on one card per view.
Hobby
For side projects and trying things out.
$0forever
- 3 projects
- Preview deployments
- Community support
Pro
Most popularFor teams shipping to production every day.
$20per seat / month
- Unlimited projects
- Preview deployments
- Password-protected previews
- Priority support
Link cards
interactive lifts the card on hover. A stretched link makes the whole surface clickable.
Installation
Point the shadcn CLI at the registry and add your first component.
Theming
Set --neon-accent once and every component follows it.
Components
Each one is a single file you own, edit and ship.
Registry
Serve your own variants as shadcn-compatible JSON.
Variants
Default
A raised surface with a faint lit edge. Use it for most content.
Glow
Neon border and ambient light. Save it for the one card that matters.
Outline
Border only, for dense layouts and nested groups.
API reference#
Card
Renders a div and accepts every native div attribute.
| Prop | Type | Default |
|---|---|---|
variant | "default" | "glow" | "outline"Surface style. | "default" |
color | NeonColorPalette name or hex. Falls back to --neon-accent, then cyan. | inherited |
interactive | booleanHover lift, brighter edge and a focus ring when something inside is keyboard-focused. | false |
CardHeader, CardContent, CardFooter
Divs with matching 24px padding. Content and footer drop their top padding so the slots stack evenly.
| Prop | Type | Default |
|---|---|---|
className | stringMerged with the defaults, so p-4 or gap-3 override cleanly. | — |
CardTitle, CardDescription
An h3 and a p. Swap the heading level with your own element if the outline needs it.
| Prop | Type | Default |
|---|---|---|
className | stringMerged with the defaults. | — |
Accessibility#
- Card has no role or tab stop of its own; put the link or button inside it.
- For a clickable card, stretch one link over the surface with after:absolute after:inset-0 instead of wrapping the card in an anchor.
- The hover lift is disabled when the user prefers reduced motion.