{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"tabela-de-pedidos","type":"registry:component","title":"Tabela de pedidos","description":"Seleção, avatar, status em badge e menu de ações por linha.","author":"UI Catalog <https://ui.codehall.io>","dependencies":[],"registryDependencies":["avatar","badge","button","checkbox","dropdown-menu","table"],"files":[{"path":"components/tabela-de-pedidos.tsx","type":"registry:component","content":"'use client'\n\nimport { MoreHorizontal } from 'lucide-react'\nimport { Avatar, AvatarFallback } from '@/components/ui/avatar'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport { Checkbox } from '@/components/ui/checkbox'\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table'\n\nconst ORDERS = [\n  { id: '#10482', client: 'Ana Souza', initials: 'AS', total: 'R$ 1.290,00', status: 'Pago', date: '08/10/2026' },\n  { id: '#10481', client: 'Bruno Rocha', initials: 'BR', total: 'R$ 349,90', status: 'Pendente', date: '08/10/2026' },\n  { id: '#10480', client: 'Carla Mendes', initials: 'CM', total: 'R$ 2.480,00', status: 'Pago', date: '07/10/2026' },\n  { id: '#10479', client: 'Diego Lima', initials: 'DL', total: 'R$ 99,00', status: 'Reembolsado', date: '07/10/2026' },\n  { id: '#10478', client: 'Elisa Farias', initials: 'EF', total: 'R$ 780,00', status: 'Falhou', date: '06/10/2026' },\n]\n\nconst TONE: Record<string, 'default' | 'secondary' | 'destructive' | 'outline'> = { Pago: 'default', Pendente: 'secondary', Reembolsado: 'outline', Falhou: 'destructive' }\n\nexport default function TabelaPedidos() {\n  return (\n    <div className=\"w-full max-w-4xl rounded-xl border bg-card\">\n      <Table>\n        <TableHeader>\n          <TableRow>\n            <TableHead className=\"w-10\">\n              <Checkbox aria-label=\"Selecionar todos\" />\n            </TableHead>\n            <TableHead>Pedido</TableHead>\n            <TableHead>Cliente</TableHead>\n            <TableHead>Status</TableHead>\n            <TableHead>Data</TableHead>\n            <TableHead className=\"text-right\">Total</TableHead>\n            <TableHead className=\"w-10\" />\n          </TableRow>\n        </TableHeader>\n        <TableBody>\n          {ORDERS.map((o) => (\n            <TableRow key={o.id}>\n              <TableCell>\n                <Checkbox aria-label={`Selecionar ${o.id}`} />\n              </TableCell>\n              <TableCell className=\"font-mono text-xs\">{o.id}</TableCell>\n              <TableCell>\n                <div className=\"flex items-center gap-2\">\n                  <Avatar size=\"sm\">\n                    <AvatarFallback>{o.initials}</AvatarFallback>\n                  </Avatar>\n                  {o.client}\n                </div>\n              </TableCell>\n              <TableCell>\n                <Badge variant={TONE[o.status]}>{o.status}</Badge>\n              </TableCell>\n              <TableCell className=\"text-muted-foreground\">{o.date}</TableCell>\n              <TableCell className=\"text-right tabular-nums\">{o.total}</TableCell>\n              <TableCell>\n                <DropdownMenu>\n                  <DropdownMenuTrigger render={<Button variant=\"ghost\" size=\"icon-sm\" aria-label=\"Ações\" />}>\n                    <MoreHorizontal />\n                  </DropdownMenuTrigger>\n                  <DropdownMenuContent align=\"end\">\n                    <DropdownMenuItem>Ver detalhes</DropdownMenuItem>\n                    <DropdownMenuItem>Reenviar recibo</DropdownMenuItem>\n                    <DropdownMenuSeparator />\n                    <DropdownMenuItem variant=\"destructive\">Cancelar pedido</DropdownMenuItem>\n                  </DropdownMenuContent>\n                </DropdownMenu>\n              </TableCell>\n            </TableRow>\n          ))}\n        </TableBody>\n      </Table>\n    </div>\n  )\n}\n"}]}