implementado tema azul

This commit is contained in:
Luiz Silva 2026-09-24 07:24:33 -03:00
parent b4394aacd8
commit 8a6a499b60
13 changed files with 2830 additions and 2362 deletions

19
dist/types/temas/constantes.d.ts vendored Normal file
View file

@ -0,0 +1,19 @@
import type { CoresVuetifyTemaEli, TipoTemaAplicacao, TokensTemaEli } from "./tipos";
/**
* Tokens do Tema Verde — Institucional e-licencie (Verde floresta #688C00)
*/
export declare const TOKENS_TEMA_VERDE: TokensTemaEli;
/**
* Tokens do Tema Azul — Betha Meio Ambiente (Azul Betha #007BFF / #0069D9)
*/
export declare const TOKENS_TEMA_AZUL: TokensTemaEli;
/**
* Cores para o tema do Vuetify 3 — Verde (e-licencie)
*/
export declare const CORES_VUETIFY_VERDE: CoresVuetifyTemaEli;
/**
* Cores para o tema do Vuetify 3 — Azul (Betha Meio Ambiente)
*/
export declare const CORES_VUETIFY_AZUL: CoresVuetifyTemaEli;
export declare const MAPA_TOKENS_TEMAS: Record<TipoTemaAplicacao, TokensTemaEli>;
export declare const MAPA_CORES_VUETIFY_TEMAS: Record<TipoTemaAplicacao, CoresVuetifyTemaEli>;

27
dist/types/temas/index.d.ts vendored Normal file
View file

@ -0,0 +1,27 @@
import type { CoresVuetifyTemaEli, OpcoesDefinirTema, TipoTemaAplicacao, TokensTemaEli } from "./tipos";
export * from "./constantes";
export * from "./tipos";
/**
* Retorna os tokens CSS para o tema solicitado.
*
* @param tema 'verde' para e-licencie ou 'azul' para Betha Meio Ambiente.
*/
export declare function obterTokensTema(tema: TipoTemaAplicacao): TokensTemaEli;
/**
* Retorna a paleta de cores para o Vuetify 3 correspondente ao tema solicitado.
*
* @param tema 'verde' para e-licencie ou 'azul' para Betha Meio Ambiente.
*/
export declare function obterCoresVuetifyTema(tema: TipoTemaAplicacao): CoresVuetifyTemaEli;
/**
* Define o tema visual da aplicação (Design Tokens CSS e opcionalmente Vuetify).
*
* @param tema 'verde' para e-licencie ou 'azul' para Betha Meio Ambiente.
* @param opcoes Opções como elemento raiz ou instância Vuetify para comutação dinâmica.
*
* @example
* // No main.ts da sua aplicação:
* import { definirTemaAplicacao } from "eli-vue"
* definirTemaAplicacao("azul")
*/
export declare function definirTemaAplicacao(tema: TipoTemaAplicacao, opcoes?: OpcoesDefinirTema): void;

48
dist/types/temas/tipos.d.ts vendored Normal file
View file

@ -0,0 +1,48 @@
/**
* Tipos do sistema de temas da biblioteca eli-vue.
*/
export type TipoTemaAplicacao = "verde" | "azul";
export interface TokensTemaEli {
"--cor-eli-primaria-bg": string;
"--cor-eli-primaria-zebra": string;
"--cor-eli-primaria-suave": string;
"--cor-eli-primaria-header": string;
"--cor-eli-primaria-clara": string;
"--cor-eli-primaria-media": string;
"--cor-eli-primaria-acao": string;
"--cor-eli-primaria": string;
"--cor-eli-primaria-escura": string;
"--cor-eli-primaria-texto": string;
"--cor-eli-fundo-suave"?: string;
"--cor-eli-fundo"?: string;
"--cor-eli-borda"?: string;
"--cor-eli-borda-forte"?: string;
"--cor-eli-neutro"?: string;
"--cor-eli-neutro-escuro"?: string;
"--cor-eli-superficie"?: string;
}
export interface CoresVuetifyTemaEli {
primary: string;
"primary-dark": string;
"primary-light": string;
[chave: string]: string;
}
export interface OpcoesDefinirTema {
/**
* Elemento HTML onde as variáveis CSS serão aplicadas.
* Padrão: document.documentElement (:root).
*/
elemento?: HTMLElement;
/**
* Instância do Vuetify para alternar o tema do Vuetify dinamicamente se configurado.
*/
vuetify?: {
theme?: {
global?: {
name: {
value: string;
};
};
};
};
}