Primitive / Moleculestable
Card
Flexible surface container for grouped content.
@glinui/uiComponent: card
Installation$
Package Manager$
pnpm add @glinui/ui @glinui/tokensRegistry$
pnpm dlx @glinui/cli@latest add cardUsage$
Project overview
Weekly summary.
Revenue increased by 18%.
Updated now
TSX
1import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "@glinui/ui"23export function CardBasicDemo() {4return (5 <Card>6 <CardHeader>7 <CardTitle>Project overview</CardTitle>8 <CardDescription>Weekly summary.</CardDescription>9 </CardHeader>10 <CardContent>Revenue increased by 18%.</CardContent>11 <CardFooter>Updated now</CardFooter>12 </Card>13)14}
Examples$
Variants$
Use the background toggle (top-right) to test each variant against different surfaces.
Glass
Standard translucent surface with subtle refraction.
Frosted
Heavy frost with stronger blur and inner glow.
Liquid
Wet-glass effect with radial highlights.
Matte
Solid opaque surface with soft shadow.
TSX
1import { Card, CardHeader, CardTitle, CardDescription, CardContent } from "@glinui/ui"23export function CardVariantDemo() {4return (5 <div className="grid gap-3 md:grid-cols-2">6 <Card variant="glass"><CardHeader><CardTitle>Glass</CardTitle></CardHeader><CardContent>Standard translucent surface with subtle refraction.</CardContent></Card>7 <Card variant="frosted"><CardHeader><CardTitle>Frosted</CardTitle></CardHeader><CardContent>Heavy frost with stronger blur and inner glow.</CardContent></Card>8 <Card variant="liquid"><CardHeader><CardTitle>Liquid</CardTitle></CardHeader><CardContent>Wet-glass effect with radial highlights.</CardContent></Card>9 <Card variant="matte"><CardHeader><CardTitle>Matte</CardTitle></CardHeader><CardContent>Solid opaque surface with soft shadow.</CardContent></Card>10 </div>11)12}
Frosted on Vivid Background$
The frosted variant shines against colorful backgrounds where the blur and inner glow create visible depth.
Analytics
Real-time dashboard metrics.
12,847
+23% from last week
Updated 2 min ago
TSX
1import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "@glinui/ui"23export function CardFrostedDemo() {4return (5 <Card variant="frosted" className="max-w-sm">6 <CardHeader>7 <CardTitle>Analytics</CardTitle>8 <CardDescription>Real-time dashboard metrics.</CardDescription>9 </CardHeader>10 <CardContent>11 <div className="text-3xl font-bold tracking-tight">12,847</div>12 <p className="text-sm text-neutral-600 dark:text-neutral-300">+23% from last week</p>13 </CardContent>14 <CardFooter className="text-xs text-neutral-500">Updated 2 min ago</CardFooter>15 </Card>16)17}
Accessibility$
- Card uses semantic section content you provide.
- Prefer heading levels that match page hierarchy.
Reduced Motion$
Card supports reduced-motion fallback for transition-heavy states.
API Reference$
Card$
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from cardVariants. |
variant | "default" | "glass" | "frosted" | "liquid" | "matte" | "outline" | "ghost" | No | "default" | Variant option from cardVariants. |
CardHeader$
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from cardSectionVariants. |
CardTitle$
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
className | string | No | - | Additional class names for title text. |
CardDescription$
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
className | string | No | - | Additional class names for description text. |
CardContent$
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from cardSectionVariants. |
CardFooter$
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from cardSectionVariants. |
Source$
TSX
1import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "@glinui/ui"
Generated API Snapshot
Beta
Generated API Snapshot
BetaAuto-extracted from TypeScript source in packages/ui/src/components/card.tsx. This section is in beta and may lag behind hand-curated docs. Regenerate with pnpm --filter @glinui/docs api:generate.
Generated: 2026-02-19T17:59:28.468Z · Full index: /docs/api-metadata
Primary Props Type
CardProps
CardContentProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from cardSectionVariants. |
CardDescriptionProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
className | string | No | - | Additional class names for description text. |
CardFooterProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from cardSectionVariants. |
CardHeaderProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from cardSectionVariants. |
CardProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from cardVariants. |
variant | "default" | "glass" | "frosted" | "liquid" | "matte" | "outline" | "ghost" | No | "default" | Variant option from cardVariants. |
CardSectionProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from cardSectionVariants. |
CardTitleProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
className | string | No | - | Additional class names for title text. |