This commit is contained in:
Luiz Silva 2026-01-29 08:49:40 -03:00
parent 5c587c9232
commit 4fd142ee70
22 changed files with 271 additions and 132 deletions

View file

@ -290,7 +290,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
ArrowUp: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
ArrowDown: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
isOrdenavel: (coluna: any) => boolean;
obterClasseAlinhamento: (alinhamento?: string) => "eli-tabela__celula--direita" | "eli-tabela__celula--centro" | "eli-tabela__celula--esquerda";
emitAlternarOrdenacao: (chave: string) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
alternarOrdenacao(chave: string): boolean;
@ -365,9 +364,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}>, {
ChevronRight: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
ChevronDown: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
obterClasseAlinhamento: (alinhamento?: string) => "eli-tabela__celula--direita" | "eli-tabela__celula--centro" | "eli-tabela__celula--esquerda";
obterMaxWidth: (largura?: number | string) => string | undefined;
obterTooltipCelula: (celula: unknown) => any;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
colunas: {
type: PropType<Array<EliColuna<any>>>;
@ -420,6 +416,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
dadosParaComponente: import("vue").ComputedRef<{
texto: string;
acao?: () => void;
} | {
texto: string;
acao?: () => void;
} | {
numero: number;
acao?: () => void;
@ -459,6 +458,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
dadosParaComponente: import("vue").ComputedRef<{
texto: string;
acao?: () => void;
} | {
texto: string;
acao?: () => void;
} | {
numero: number;
acao?: () => void;
@ -595,6 +597,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
type: PropType<EliTabelaColunasConfig>;
required: true;
};
colunas: {
type: PropType<Array<EliColuna<any>>>;
required: true;
};
}>, {
visiveisLocal: import("vue").Ref<string[], string[]>;
invisiveisLocal: import("vue").Ref<string[], string[]>;
@ -619,6 +625,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
type: PropType<EliTabelaColunasConfig>;
required: true;
};
colunas: {
type: PropType<Array<EliColuna<any>>>;
required: true;
};
}>> & Readonly<{
onFechar?: (() => any) | undefined;
onSalvar?: ((_config: EliTabelaColunasConfig) => any) | undefined;

View file

@ -44,9 +44,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}>, {
ChevronRight: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
ChevronDown: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
obterClasseAlinhamento: (alinhamento?: string) => "eli-tabela__celula--direita" | "eli-tabela__celula--centro" | "eli-tabela__celula--esquerda";
obterMaxWidth: (largura?: number | string) => string | undefined;
obterTooltipCelula: (celula: unknown) => any;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
colunas: {
type: PropType<Array<EliColuna<any>>>;
@ -99,6 +96,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
dadosParaComponente: import("vue").ComputedRef<{
texto: string;
acao?: () => void;
} | {
texto: string;
acao?: () => void;
} | {
numero: number;
acao?: () => void;
@ -138,6 +138,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
dadosParaComponente: import("vue").ComputedRef<{
texto: string;
acao?: () => void;
} | {
texto: string;
acao?: () => void;
} | {
numero: number;
acao?: () => void;

View file

@ -29,6 +29,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
dadosParaComponente: import("vue").ComputedRef<{
texto: string;
acao?: () => void;
} | {
texto: string;
acao?: () => void;
} | {
numero: number;
acao?: () => void;

View file

@ -25,7 +25,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
ArrowUp: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
ArrowDown: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
isOrdenavel: (coluna: any) => boolean;
obterClasseAlinhamento: (alinhamento?: string) => "eli-tabela__celula--direita" | "eli-tabela__celula--centro" | "eli-tabela__celula--esquerda";
emitAlternarOrdenacao: (chave: string) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
alternarOrdenacao(chave: string): boolean;

View file

@ -1,5 +1,6 @@
import { PropType } from "vue";
import type { EliTabelaColunasConfig } from "./colunasStorage";
import type { EliColuna } from "./types-eli-tabela";
type OrigemLista = "visiveis" | "invisiveis";
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
aberto: {
@ -14,6 +15,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
type: PropType<EliTabelaColunasConfig>;
required: true;
};
colunas: {
type: PropType<Array<EliColuna<any>>>;
required: true;
};
}>, {
visiveisLocal: import("vue").Ref<string[], string[]>;
invisiveisLocal: import("vue").Ref<string[], string[]>;
@ -38,6 +43,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
type: PropType<EliTabelaColunasConfig>;
required: true;
};
colunas: {
type: PropType<Array<EliColuna<any>>>;
required: true;
};
}>> & Readonly<{
onFechar?: (() => any) | undefined;
onSalvar?: ((_config: EliTabelaColunasConfig) => any) | undefined;

View file

@ -11,6 +11,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
dadosParaComponente: import("vue").ComputedRef<{
texto: string;
acao?: () => void;
} | {
texto: string;
acao?: () => void;
} | {
numero: number;
acao?: () => void;

View file

@ -0,0 +1,18 @@
import { PropType } from "vue";
import type { TiposTabelaCelulas } from "./tiposTabelaCelulas";
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
dados: {
type: PropType<TiposTabelaCelulas["textoTruncado"]>;
};
}>, {
dados: {
texto: string;
acao?: () => void;
} | undefined;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
dados: {
type: PropType<TiposTabelaCelulas["textoTruncado"]>;
};
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const _default: typeof __VLS_export;
export default _default;

View file

@ -13,6 +13,20 @@ export declare const registryTabelaCelulas: {
type: import("vue").PropType<import("./tiposTabelaCelulas").TiposTabelaCelulas["textoSimples"]>;
};
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
readonly textoTruncado: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
dados: {
type: import("vue").PropType<import("./tiposTabelaCelulas").TiposTabelaCelulas["textoTruncado"]>;
};
}>, {
dados: {
texto: string;
acao?: () => void;
} | undefined;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
dados: {
type: import("vue").PropType<import("./tiposTabelaCelulas").TiposTabelaCelulas["textoTruncado"]>;
};
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
readonly numero: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
dados: {
type: import("vue").PropType<import("./tiposTabelaCelulas").TiposTabelaCelulas["numero"]>;

View file

@ -6,6 +6,10 @@ export type TiposTabelaCelulas = {
texto: string;
acao?: () => void;
};
textoTruncado: {
texto: string;
acao?: () => void;
};
numero: {
numero: number;
acao?: () => void;

View file

@ -7,7 +7,6 @@ export type ComponenteCelula = {
}[TipoTabelaCelula];
export declare const celulaTabela: <T extends TipoTabelaCelula>(tipo: T, dados: TiposTabelaCelulas[T]) => ComponenteCelulaBase<T>;
export type { TipoTabelaCelula, TiposTabelaCelulas };
export type EliAlinhamentoColuna = "esquerda" | "centro" | "direita";
export type EliColuna<T> = {
/** Texto exibido no cabeçalho da coluna. */
rotulo: string;
@ -15,24 +14,16 @@ 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.
*/
coluna_ordem?: keyof T;
/**
* indica que a coluna será visivel, se false incia em detalhe
* Caso tenha salvo a propriedade de visibilidade será adotado a propriedade salva
*/
visivel: boolean;
};
export type EliConsultaPaginada<T> = {
/** Registros retornados na consulta. */