This commit is contained in:
Luiz Silva 2026-01-27 15:51:54 -03:00
parent 50a971ccaf
commit 64535c51a3
12 changed files with 1016 additions and 774 deletions

View file

@ -19,6 +19,8 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
onBuscar?: ((valor: string) => any) | undefined;
}>, {
modelo: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, {
Search: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const _default: typeof __VLS_export;
export default _default;

View file

@ -2,6 +2,7 @@ import type { tipoResposta } from "p-respostas";
import type { LucideIcon } from "lucide-vue-next";
import type { VNodeChild } from "vue";
export type ComponenteCelula = VNodeChild;
export type EliAlinhamentoColuna = "esquerda" | "centro" | "direita";
export type EliColuna<T> = {
/** Texto exibido no cabeçalho da coluna. */
rotulo: string;
@ -9,6 +10,19 @@ export type EliColuna<T> = {
celula: (linha: T) => ComponenteCelula;
/** Ação opcional disparada ao clicar na célula. */
acao?: () => void;
/** Alinhamento do conteúdo da coluna (cabeçalho e células). */
alinhamento?: EliAlinhamentoColuna;
/**
* Quando `true`, tenta truncar (ellipsis) conteúdos textuais longos.
* Observação: o tooltip automático é aplicado quando o conteúdo renderizado
* da célula é um `string`/`number`.
*/
truncar?: boolean;
/**
* Largura máxima usada quando `truncar` estiver ativo.
* Exemplos: `240` (px), `"18rem"`, `"30ch"`.
*/
largura_maxima?: number | string;
/**
* Campo de ordenação associado à coluna. Caso informado, a coluna passa a
* exibir controles de ordenação e utiliza o valor como chave para o backend.