Swirski UI

Cards

Card

A bordered content block for projects, pieces, links and previews.

Component

10

Request Changes

Import

import { Card, CardContent, CardTitle, Text } from "@swirski/ui";

Composition

Card
`-- CardContent
    |-- CardTitle
    `-- children

Playground

3 controls

Patchwork Jacket

A framed content primitive with Swirski borders and shadows.

Controls

Usage

<Card
  className="max-w-sm bg-[#F5F5F3] shadow-[8px_8px_0_#0B0B0C]"
  interactive={true}
>
  <CardContent>
    <CardTitle>Patchwork Jacket</CardTitle>
    <Text className="mt-3" size="sm" tone="muted" weight="bold">
      A framed content primitive with Swirski borders and shadows.
    </Text>
  </CardContent>
</Card>

Props

32 generated
PropTypeDefaultNotes
Card.asChildbooleanfalseGenerated from CardProps.
Card.childrenReactNode-Card body content.
Card.interactivebooleantrueEnables hover and active movement styles.
Card.size'sm' | 'md' | 'lg'"md"Generated from CardProps.
Card.tone'default' | 'blue' | 'yellow' | 'white' | 'black'"default"Generated from CardProps.
Card.variant'outline' | 'elevated' | 'flat'"elevated"Generated from CardProps.
Card.withShadowboolean-Generated from CardProps.
CardBadge.asChildbooleanfalseGenerated from CardBadgeProps.
CardBadge.childrenReactNode-Card body content.
CardBadge.position'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'"top-left"Generated from CardBadgeProps.
CardBadge.size'sm' | 'md'"sm"Generated from CardBadgeProps.
CardBadge.tone'blue' | 'yellow' | 'red' | 'white' | 'black'"white"Generated from CardBadgeProps.
CardBadge.variant'solid' | 'outline'"solid"Generated from CardBadgeProps.
CardContent.asChildbooleanfalseGenerated from CardContentProps.
CardContent.childrenReactNode-Card body content.
CardContent.size'sm' | 'md' | 'lg'"md"Generated from CardContentProps.
CardContent.variant'default' | 'flush'"default"Generated from CardContentProps.
CardMedia.asChildbooleanfalseGenerated from CardMediaProps.
CardMedia.aspectstring"4/3"Generated from CardMediaProps.
CardMedia.childrenReactNode-Card body content.
CardMedia.size'sm' | 'md' | 'lg'"md"Generated from CardMediaProps.
CardMedia.variant'default' | 'flush'"default"Generated from CardMediaProps.
CardMeta.asChildbooleanfalseGenerated from CardMetaProps.
CardMeta.childrenReactNode-Card body content.
CardMeta.size'sm' | 'md'"sm"Generated from CardMetaProps.
CardMeta.tone'default' | 'muted' | 'inverted'"default"Generated from CardMetaProps.
CardMeta.variant'default' | 'plain'"default"Generated from CardMetaProps.
CardTitle.asChildbooleanfalseGenerated from CardTitleProps.
CardTitle.childrenReactNode-Card body content.
CardTitle.size'sm' | 'md' | 'lg'"md"Generated from CardTitleProps.
CardTitle.tone'default' | 'muted' | 'inverted'"default"Generated from CardTitleProps.
CardTitle.variant'default' | 'plain'"default"Generated from CardTitleProps.
classNamestring-Adds classes to the card root.
CardContent.classNamestring-Adds classes to the padded content wrapper.
Previous: AccordionNext: SectionLabel