Components/Surfaces/Card
COMPONENT18.18

Card

Bordered surface with header, content and footer slots. Hairline dividers and full-bleed content via modifiers.


INSTALL

1pnpm dlx @sayagodev/mo add card

Or import the files from the package (no copy):

1import "@sayagodev/mo/css/card.css";

EXAMPLES

Login form

Login to your account

Enter your email below to login to your account

Small feature list

Scheduled reports

Weekly snapshots. No more manual exports.

  • Choose a schedule (daily, or weekly).
  • Send to channels or specific teammates.
  • Include charts, tables, and key metrics.
Spacing

Default

Padding comes from --space-6 via --mo-card-padding.

Cards accept a padding hook so density can change per surface without touching the component.

Compact

Same card, --mo-card-padding set to --space-3.

Dense dashboards and sidebars drop the padding hook to a smaller step.

Image cover
Event cover

Design systems meetup

A practical talk on component APIs, accessibility, and shipping faster.

Featured
Edge to edge

Terms of Service

Review the terms before accepting the agreement.

These terms govern your use of the workspace, including access to shared documents, project files, and collaboration tools.

You are responsible for the content you upload and for ensuring that your team has the appropriate permissions to view or edit it.

We may update features or limits as the service evolves. When those changes materially affect your workflow, we will notify your workspace administrators.

By continuing, you agree to keep your account credentials secure and to follow your organization's acceptable use policies.

Notification

Notifications

You have 3 unread messages.

USAGE

1<article class="card">2  <header>            <!-- CardHeader -->3    <h3>Title</h3>        <!-- CardTitle -->4    <p>Description</p>    <!-- CardDescription -->5    <div data-action></div>  <!-- CardAction -->6  </header>7  …content8  <footer class="bordered"></footer>9</article>

API

NAMEKINDDESCRIPTION
> header > :is(h1-h6)elementCardTitle typography
> header > pelementCardDescription muted text
[data-action]attributeTop-right action slot in header
.bordered / .flushclassHairline separators · full-bleed content
--mo-card-*tokenbg, padding, radius hooks

FILES

src/css/card.css
Install:mo add card

THEMING · PLAYGROUND

This is the exact component from the examples above, wearing a completely different theme. Edit the tokens and --mo-* hooks in the editor — autocomplete knows them all — and the preview obeys in real time. Your CSS always wins.

Tokens & hooks — edit live
Global tokens
--border--card--card-foreground--foreground--muted-foreground--radius
Component hooks
--mo-card-bg--mo-card-padding--mo-card-radius

Preview

Sign in to Nuo

Enter your credentials to open the workbench.

Your CSS

Try it: type --mo- for the component hooks, or edit any value — the preview obeys in real time.