UI

Data Table

Tabela de contatos pronta, com busca, ordenação, seleção múltipla, badges de status e paginação.

14 contatos

ContatoOrigemStatusValor estimadoRecebido em
Mariana Costamariana@clinicasorriso.com.br
Google AdsNovoR$ 4.800,0027 de set. de 2026
Rafael Oliveirarafael@padariapaodeouro.com.br
Formulário do siteEm atendimentoR$ 2.500,0026 de set. de 2026
Juliana Martinsjuliana@studiojm.com.br
InstagramConvertidoR$ 7.200,0025 de set. de 2026
Carlos Eduardo Limacarlos@limaadvocacia.adv.br
IndicaçãoConvertidoR$ 12.900,0024 de set. de 2026
Fernanda Souzafernanda@petshopamigo.com.br
WhatsAppNovoR$ 3.100,0024 de set. de 2026

Mostrando 1–5 de 14

Instalação

npx shadcn@latest add @lenstech/data-table

Uso

import { DataTable } from "@/components/data-table"
<DataTable aria-label="Contatos recentes" data={contatos} pageSize={10} />

Um bloco é um ponto de partida

Diferente de um componente, o Data Table é para copiar e adaptar: troque o tipo Contact, as colunas, os status e a busca pelos dados do seu sistema. Toda a lógica (filtro, ordenação e paginação) está no próprio arquivo.

Exemplos

Com seus dados

Passe data no formato Contact e ajuste pageSize. Sem data, o bloco usa os contatos de exemplo (sampleContacts).

5 contatos

ContatoOrigemStatusValor estimadoRecebido em
Renata Diasrenata@floriculturaflor.com.br
InstagramNovoR$ 2.200,0028 de set. de 2026
Marcos Tavaresmarcos@tavaresodonto.com.br
Google AdsEm atendimentoR$ 5.400,0027 de set. de 2026
Sofia Mendessofia@mendesarquitetura.com.br
IndicaçãoConvertidoR$ 9.600,0026 de set. de 2026

Mostrando 1–3 de 5

Ações em lote

onSelectionChange recebe as linhas selecionadas (objetos completos, não só os ids) — ideal para exportar ou enviar e-mails em massa.

14 contatos

ContatoOrigemStatusValor estimadoRecebido em
Mariana Costamariana@clinicasorriso.com.br
Google AdsNovoR$ 4.800,0027 de set. de 2026
Rafael Oliveirarafael@padariapaodeouro.com.br
Formulário do siteEm atendimentoR$ 2.500,0026 de set. de 2026
Juliana Martinsjuliana@studiojm.com.br
InstagramConvertidoR$ 7.200,0025 de set. de 2026
Carlos Eduardo Limacarlos@limaadvocacia.adv.br
IndicaçãoConvertidoR$ 12.900,0024 de set. de 2026
Fernanda Souzafernanda@petshopamigo.com.br
WhatsAppNovoR$ 3.100,0024 de set. de 2026

Mostrando 1–5 de 14

Selecione contatos para exportar.

O que vem pronto

  • Busca por nome, e-mail ou origem (volta para a página 1 ao digitar).
  • Ordenação por contato, status, valor e data (padrão: mais recentes primeiro).
  • Seleção múltipla com contador acessível (aria-live).
  • Status com badge colorido: novo, em atendimento, convertido, perdido.
  • Paginação com "Mostrando 1–5 de 14" e estado vazio com orientação.

Quando usar

  • Use em painéis administrativos que listam leads, clientes ou pedidos.
  • Não use para tabelas simples ou estáticas — use Table diretamente.
  • Não use com milhares de linhas no navegador: mova busca, ordenação e paginação para a API.

API

DataTable

Aceita as props de uma <div> HTML, mais:

Prop

Type

Contact

Prop

Type

O arquivo também exporta StatusBadge e sampleContacts.

On this page