Component

Card

Contain a record

Required if product has a grid of records

This page is a reusable-component split from the source checklist row Card / surface. The source row remains authoritative.

ContractCard / surface
Job
Contain a record
Requirement
must specify if product has a grid of records
States / rules
On-color if accent; hover/focus if interactive
Specified means
Surface + on-color
Hardest context
White type on ocher
Example

Article cover card

Counter-example

Raw hex cards

Preview

Preview — not a published component API.

ProjectNorthstar

Updated 12 minutes ago

Usage

Job: Contain a record.

Surface + on-color

When not to use

Do not turn every piece of content into a card. Use a Card when containment represents a real record or grouped object.

Variants

The checklist row does not authorize this page to invent a final component API. Where the source rule names a variant, preserve it; otherwise keep the implemented variant set minimal and job-driven.

States & behavior

On-color if accent; hover/focus if interactive

Universal interactive baseline

Default, Hover, Focus, Active/Pressed, and Disabled apply to interactive controls. Error, Loading, Empty, and Success apply where the component takes or reports data.

Accessibility

  • Use native semantics whenever they match the job.
  • Keep keyboard focus visible and distinct from hover.
  • Do not rely on color alone for state.
  • Maintain touch-operable targets and no hover-only actions.
  • For composite/overlay controls, document focus movement, Escape, and return focus as applicable.

Responsive behavior

Document sm/md/lg behavior explicitly: whether the component reflows, collapses, changes density, or stays structurally the same. Preserve touch targets and avoid hover-only behavior.

Theme comparison

The component job and interaction contract stay stable while product expression changes.

Base
ProjectNorthstar

Updated 12 minutes ago

Editorial
ProjectNorthstar

Updated 12 minutes ago

Native
ProjectNorthstar

Updated 12 minutes ago

Tokens

Bind the implementation to semantic roles for surface, text, border, focus, spacing, shape, and motion as needed. Actual token names must come from the implemented Foundation; this demo deliberately does not mint package-level token names.

Code / Storybook

No shared Building Blocks implementation is claimed here.

When this component exists in code, this section should link to its source and Storybook stories for executable states, Controls, viewport, accessibility checks, and interaction tests. The documentation page remains responsible for job, guidance, source contract, product decisions, themes, and Catalog lineage.