import React from "react"; /** Tabela simples: colunas declarativas, linhas como objetos. */ export function Tabela({ colunas = [], linhas = [], chave = "id", aoClicarLinha, vazio = "Nada por aqui ainda.", compacta = false, className = "" }) { const cls = ["ach-tabela", compacta ? "ach-tabela--compacta" : "", aoClicarLinha ? "ach-tabela--clicavel" : "", className].filter(Boolean).join(" "); const celula = (c) => c.alinhar === "num" ? "ach-tabela__num" : c.alinhar === "direita" ? "ach-tabela__direita" : ""; return (
{colunas.map((c) => )} {linhas.length === 0 && } {linhas.map((l, i) => ( aoClicarLinha(l) : undefined}> {colunas.map((c) => )} ))}
{c.rotulo}
{vazio}
{c.renderizar ? c.renderizar(l) : l[c.chave]}
); }