Skip to main content
A versatile container component for grouping related content.

Import

Component Parts

component
The root container element for the card
component
Contains the card header content
component
The main heading for the card
component
Descriptive text for the card
component
The main content area of the card
component
Interactive action element within the card
Contains the card footer content

Card.Root

The root container element for the card.

Props

React.ElementType
default:"article"
The element type to render as
boolean
When true, merges props with the immediate child element instead of rendering a wrapper element
string
CSS class names to apply to the root element

Data Attributes

  • data-slot="card-root"
  • data-scope="card"
  • data-part="root"

Card.Header

Contains the card header content.

Props

React.ElementType
default:"header"
The element type to render as
boolean
When true, merges props with the immediate child element instead of rendering a wrapper element
string
CSS class names to apply to the header element

Data Attributes

  • data-slot="card-header"
  • data-scope="card"
  • data-part="header"

Card.Title

The main heading for the card.

Props

React.ElementType
default:"h3"
The element type to render as
string
CSS class names to apply to the title element. Default styles include leading-none font-semibold

Data Attributes

  • data-slot="card-title"
  • data-scope="card"
  • data-part="title"

Card.Description

Descriptive text for the card.

Props

React.ElementType
default:"p"
The element type to render as
string
CSS class names to apply to the description element. Default styles include text-sm text-zu-muted-foreground

Data Attributes

  • data-slot="card-description"
  • data-scope="card"
  • data-part="description"

Card.Content

The main content area of the card.

Props

React.ElementType
default:"div"
The element type to render as
string
CSS class names to apply to the content element

Data Attributes

  • data-slot="card-content"
  • data-scope="card"
  • data-part="content"

Card.Action

Interactive action element within the card.

Props

React.ElementType
default:"button"
The element type to render as
string
CSS class names to apply to the action element
string
default:"button"
The button type attribute

Data Attributes

  • data-slot="card-action"
  • data-scope="card"
  • data-part="action"
Contains the card footer content.

Props

React.ElementType
default:"footer"
The element type to render as
boolean
When true, merges props with the immediate child element instead of rendering a wrapper element
string
CSS class names to apply to the footer element

Data Attributes

  • data-slot="card-footer"
  • data-scope="card"
  • data-part="footer"

Types

PolymorphicProps

All Card components support polymorphic props, allowing you to change the underlying element type while maintaining type safety.