This commit is contained in:
Luiz Silva 2026-01-28 14:51:47 -03:00
parent d737400bad
commit 81dbb48685
7 changed files with 622 additions and 639 deletions

1181
dist/eli-vue.es.js vendored

File diff suppressed because it is too large Load diff

12
dist/eli-vue.umd.js vendored

File diff suppressed because one or more lines are too long

View file

@ -300,17 +300,15 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
type: PropType<(i: number) => boolean>; type: PropType<(i: number) => boolean>;
required: true; required: true;
}; };
toggleMenu: {
type: PropType<(indice: number, evento: MouseEvent) => void>;
required: true;
};
}>, { }>, {
obterClasseAlinhamento: (alinhamento?: string) => "eli-tabela__celula--direita" | "eli-tabela__celula--centro" | "eli-tabela__celula--esquerda"; obterClasseAlinhamento: (alinhamento?: string) => "eli-tabela__celula--direita" | "eli-tabela__celula--centro" | "eli-tabela__celula--esquerda";
obterMaxWidth: (largura?: number | string) => string | undefined; obterMaxWidth: (largura?: number | string) => string | undefined;
obterTooltipCelula: (celula: unknown) => any; obterTooltipCelula: (celula: unknown) => any;
emitToggleMenu: (indice: number, evento: MouseEvent) => void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
toggleMenu(payload: {
indice: number;
evento: MouseEvent;
}): boolean;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
colunas: { colunas: {
type: PropType<Array<import("./types-eli-tabela").EliColuna<any>>>; type: PropType<Array<import("./types-eli-tabela").EliColuna<any>>>;
required: true; required: true;
@ -331,12 +329,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
type: PropType<(i: number) => boolean>; type: PropType<(i: number) => boolean>;
required: true; required: true;
}; };
}>> & Readonly<{ toggleMenu: {
onToggleMenu?: ((payload: { type: PropType<(indice: number, evento: MouseEvent) => void>;
indice: number; required: true;
evento: MouseEvent; };
}) => any) | undefined; }>> & Readonly<{}>, {}, {}, {
}>, {}, {}, {
EliTabelaCelula: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ EliTabelaCelula: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
celula: { celula: {
type: PropType<import("./types-eli-tabela").ComponenteCelula>; type: PropType<import("./types-eli-tabela").ComponenteCelula>;

View file

@ -21,17 +21,15 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
type: PropType<(i: number) => boolean>; type: PropType<(i: number) => boolean>;
required: true; required: true;
}; };
toggleMenu: {
type: PropType<(indice: number, evento: MouseEvent) => void>;
required: true;
};
}>, { }>, {
obterClasseAlinhamento: (alinhamento?: string) => "eli-tabela__celula--direita" | "eli-tabela__celula--centro" | "eli-tabela__celula--esquerda"; obterClasseAlinhamento: (alinhamento?: string) => "eli-tabela__celula--direita" | "eli-tabela__celula--centro" | "eli-tabela__celula--esquerda";
obterMaxWidth: (largura?: number | string) => string | undefined; obterMaxWidth: (largura?: number | string) => string | undefined;
obterTooltipCelula: (celula: unknown) => any; obterTooltipCelula: (celula: unknown) => any;
emitToggleMenu: (indice: number, evento: MouseEvent) => void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
toggleMenu(payload: {
indice: number;
evento: MouseEvent;
}): boolean;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
colunas: { colunas: {
type: PropType<Array<EliColuna<any>>>; type: PropType<Array<EliColuna<any>>>;
required: true; required: true;
@ -52,12 +50,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
type: PropType<(i: number) => boolean>; type: PropType<(i: number) => boolean>;
required: true; required: true;
}; };
}>> & Readonly<{ toggleMenu: {
onToggleMenu?: ((payload: { type: PropType<(indice: number, evento: MouseEvent) => void>;
indice: number; required: true;
evento: MouseEvent; };
}) => any) | undefined; }>> & Readonly<{}>, {}, {}, {
}>, {}, {}, {
EliTabelaCelula: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ EliTabelaCelula: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
celula: { celula: {
type: PropType<import("./types-eli-tabela").ComponenteCelula>; type: PropType<import("./types-eli-tabela").ComponenteCelula>;

View file

@ -1,6 +1,6 @@
{ {
"name": "eli-vue", "name": "eli-vue",
"version": "0.1.40", "version": "0.1.41",
"private": false, "private": false,
"main": "./dist/eli-vue.umd.js", "main": "./dist/eli-vue.umd.js",
"module": "./dist/eli-vue.es.js", "module": "./dist/eli-vue.es.js",

View file

@ -24,7 +24,7 @@
:temAcoes="temAcoes" :temAcoes="temAcoes"
:colunaOrdenacao="colunaOrdenacao" :colunaOrdenacao="colunaOrdenacao"
:direcaoOrdenacao="direcaoOrdenacao" :direcaoOrdenacao="direcaoOrdenacao"
@alternarOrdenacao="alternarOrdenacao" @alternar-ordenacao="alternarOrdenacao"
/> />
<EliTabelaBody <EliTabelaBody
@ -33,7 +33,7 @@
:temAcoes="temAcoes" :temAcoes="temAcoes"
:menuAberto="menuAberto" :menuAberto="menuAberto"
:possuiAcoes="possuiAcoes" :possuiAcoes="possuiAcoes"
@toggleMenu="({ indice, evento }) => toggleMenu(indice, evento)" :toggleMenu="toggleMenu"
/> />
</table> </table>

View file

@ -43,7 +43,7 @@
:aria-controls="possuiAcoes(i) ? `eli-tabela-acoes-menu-${i}` : undefined" :aria-controls="possuiAcoes(i) ? `eli-tabela-acoes-menu-${i}` : undefined"
:aria-label="possuiAcoes(i) ? 'Ações da linha' : 'Nenhuma ação disponível'" :aria-label="possuiAcoes(i) ? 'Ações da linha' : 'Nenhuma ação disponível'"
:title="possuiAcoes(i) ? 'Ações' : 'Nenhuma ação disponível'" :title="possuiAcoes(i) ? 'Ações' : 'Nenhuma ação disponível'"
@click.stop="emitToggleMenu(i, $event)" @click.stop="toggleMenu(i, $event)"
> >
<MoreVertical class="eli-tabela__acoes-toggle-icone" :size="18" :stroke-width="2" /> <MoreVertical class="eli-tabela__acoes-toggle-icone" :size="18" :stroke-width="2" />
</button> </button>
@ -86,13 +86,12 @@ export default defineComponent({
type: Function as PropType<(i: number) => boolean>, type: Function as PropType<(i: number) => boolean>,
required: true, required: true,
}, },
}, toggleMenu: {
emits: { type: Function as PropType<(indice: number, evento: MouseEvent) => void>,
toggleMenu(payload: { indice: number; evento: MouseEvent }) { required: true,
return payload && typeof payload.indice === "number";
}, },
}, },
setup(_props, { emit }) { setup() {
function obterClasseAlinhamento(alinhamento?: string) { function obterClasseAlinhamento(alinhamento?: string) {
if (alinhamento === "direita") return "eli-tabela__celula--direita"; if (alinhamento === "direita") return "eli-tabela__celula--direita";
if (alinhamento === "centro") return "eli-tabela__celula--centro"; if (alinhamento === "centro") return "eli-tabela__celula--centro";
@ -121,15 +120,10 @@ export default defineComponent({
return undefined; return undefined;
} }
function emitToggleMenu(indice: number, evento: MouseEvent) {
emit("toggleMenu", { indice, evento });
}
return { return {
obterClasseAlinhamento, obterClasseAlinhamento,
obterMaxWidth, obterMaxWidth,
obterTooltipCelula, obterTooltipCelula,
emitToggleMenu,
}; };
}, },
}); });