Layout

Card

Frames a self-contained piece of content or a compact workflow.

Imports

Use the same component slug for React, Vue, and style token lookup. Do not import components from package roots.

import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "@line/abc-def-react/card";
<script setup lang="ts">
import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "@line/abc-def-vue/card";
</script>

Shadcn references

Compare the corresponding shadcn React and Vue documentation for the same component slug.

Basic usage

Project status
Updated just now
Ready for review.
import {
  Card,
  CardContent,
  CardDescription,
  CardHeader,
  CardTitle,
} from "@line/abc-def-react/card";

export function Example() {
  return (
    <Card>
      <CardHeader>
        <CardTitle>Project status</CardTitle>
        <CardDescription>Updated just now</CardDescription>
      </CardHeader>
      <CardContent>Ready for review.</CardContent>
    </Card>
  );
}
<script setup lang="ts">
import {
  Card,
  CardContent,
  CardDescription,
  CardHeader,
  CardTitle,
} from "@line/abc-def-vue/card";
</script>

<template>
  <Card>
    <CardHeader>
      <CardTitle>Project status</CardTitle>
      <CardDescription>Updated just now</CardDescription>
    </CardHeader>
    <CardContent>Ready for review.</CardContent>
  </Card>
</template>

Component tokens

Component TokenSemantic TokenDefault Primitive Token
--card-bg--surface--color-zinc-900
--card-fg--surface-foreground--color-zinc-50
--card-ring--ring--color-zinc-400
--card-border--border--color-zinc-200
--card-description-fg--muted-foreground--color-zinc-500
--card-footer-bg--muted--color-zinc-100

Composition exports

CardCardHeaderCardTitleCardDescriptionCardContentCardFooter

Usage notes

  • Use cards for repeated items or framed tools.
  • Avoid nesting cards inside cards.
  • Related component tokens use the `card` token group in `@line/abc-def-styles/css`.