121
GitHub
LayoutGlass surface

Card

Frames a focused item, metric, plan, or form.

FrameworksAstro · React · Elements

Registry commandlumen add Card

InteractionNative markup

01

See it in context

Preview

Starter

For personal projects and prototypes.

Muted

A quieter surface for secondary content.

Interactive

Hover and focus styles for clickable cards.

02

Copy a working example

Usage

astro
---
import {
  Button,
  Card
} from '@santi020k/lumen-astro'
---

<div style="display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));">
  <Card>
    <h3>Starter</h3>
    <p>For personal projects and prototypes.</p>
    <Button size="sm">Choose plan</Button>
  </Card>
  <Card variant="muted">
    <h3>Muted</h3>
    <p>A quieter surface for secondary content.</p>
  </Card>
  <Card as="article" variant="interactive">
    <h3>Interactive</h3>
    <p>Hover and focus styles for clickable cards.</p>
  </Card>
</div>
---
import {
  Button,
  Card
} from '@santi020k/lumen-astro'
---

<div style="display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));">
  <Card>
    <h3>Starter</h3>
    <p>For personal projects and prototypes.</p>
    <Button size="sm">Choose plan</Button>
  </Card>
  <Card variant="muted">
    <h3>Muted</h3>
    <p>A quieter surface for secondary content.</p>
  </Card>
  <Card as="article" variant="interactive">
    <h3>Interactive</h3>
    <p>Hover and focus styles for clickable cards.</p>
  </Card>
</div>
03

Choose your target

Add this component

Choose the package for your runtime. All adapters share the Lumen stylesheet. Use the matching registry command when you want a local wrapper for that framework.

bash@santi020k/lumen-astro
pnpm add @santi020k/lumen-astro
pnpm add @santi020k/lumen-astro
bashAstro wrapper
lumen add Card
lumen add Card

Glass

Add the glass prop to apply the shared blur, saturation, border, and highlight tokens. Glass reads best over vivid content, so place the surface above imagery or color.

Pro

$12 / month

Every surface primitive with the liquid-glass treatment, themed by tokens.

astro
---
import {
  Badge,
  Button,
  Card
} from '@santi020k/lumen-astro'
---

<div class="docs-glass-demo" style="justify-items: center;">
  <Card glass variant="interactive" style="max-width: 20rem; display: grid; gap: 0.6rem;">
    <Badge variant="outline">Pro</Badge>
    <h3 style="margin: 0;">$12 / month</h3>
    <p style="margin: 0;">Every surface primitive with the liquid-glass treatment, themed by tokens.</p>
    <Button size="sm">Choose plan</Button>
  </Card>
</div>
---
import {
  Badge,
  Button,
  Card
} from '@santi020k/lumen-astro'
---

<div class="docs-glass-demo" style="justify-items: center;">
  <Card glass variant="interactive" style="max-width: 20rem; display: grid; gap: 0.6rem;">
    <Badge variant="outline">Pro</Badge>
    <h3 style="margin: 0;">$12 / month</h3>
    <p style="margin: 0;">Every surface primitive with the liquid-glass treatment, themed by tokens.</p>
    <Button size="sm">Choose plan</Button>
  </Card>
</div>

API reference

Lumen-specific props and runtime attributes for the Astro primitive. React props follow the same names; Elements use equivalent kebab-case attributes where custom elements expose them.

AttributeValuesDefaultDescription
glassboolean | "subtle" | "strong"falseApplies the tokenized liquid-glass surface treatment with backdrop-filter fallbacks; "subtle" and "strong" adjust the fill intensity.
as"div" | "article" | "section""div"Changes the rendered HTML element.
variant"default" | "muted" | "interactive" | "glass""default"Controls the card surface and affordance; variant="glass" is kept as a compatibility alias.
class, classNamestring""Merges custom classes with the generated ui-* root classes.
...native attributesHTML attributes-Forwards standard attributes to the root element unless the component consumes them.