UI

Card

Contêiner com borda e sombra leve para agrupar conteúdo e ações relacionadas.

Clareamento dental
Sessão de consultório com gel de alta concentração.
R$ 890,00ou 10× de R$ 89,00 sem juros

Instalação

npx shadcn@latest add @lenstech/card

Uso

import {
  Card,
  CardAction,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card"
<Card>
  <CardHeader>
    <CardTitle>Agenda de hoje</CardTitle>
    <CardDescription>3 atendimentos confirmados.</CardDescription>
    <CardAction>…</CardAction>
  </CardHeader>
  <CardContent>…</CardContent>
  <CardFooter>…</CardFooter>
</Card>

Exemplos

Com ação no cabeçalho

CardAction ocupa o canto superior direito do cabeçalho — use para "Ver todos", menus ou badges.

Agenda de hoje
3 atendimentos confirmados.
  • 09:00Lucas MartinsLimpeza
  • 10:30Patrícia GomesAvaliação ortodôntica
  • 14:00Roberto NunesRestauração

Indicadores

Para números de dashboard, use font-mono tabular-nums no CardTitle e reduza o espaçamento com gap-2.

Vendas hoje
R$ 3.482,90
+18% vs. ontem
Pedidos em aberto
8
3 aguardando pagamento
Ticket médio
R$ 127,40
Últimos 30 dias

Com divisórias

Adicione border-b no CardHeader ou border-t no CardFooter: o espaçamento extra é aplicado automaticamente.

Plano Profissional
Site + sistema de agendamento para a sua clínica.
  • Agendamento online 24h
  • Lembretes automáticos por WhatsApp
  • Até 5 profissionais
R$ 249/mês

Componente sem interatividade

O Card é HTML puro (sem React Aria). Para um card inteiro clicável, coloque um Link ou LinkButton dentro dele — não adicione onClick na div.

Quando usar

  • Use para agrupar informações de uma mesma entidade: um plano, um pedido, um indicador, um resumo.
  • Não use para cada linha de uma lista longa — prefira uma tabela ou lista com Separator.
  • Não aninhe cards dentro de cards; use seções com títulos.
  • Para seções que expandem, veja Accordion.

API

Todos os subcomponentes aceitam as props de uma div (className, children…).

Prop

Type

On this page