No description
Find a file
2026-01-02 21:24:44 -03:00
.vscode Primeira Versão do Sistema de componentes Vue 2025-12-08 13:59:04 -03:00
src refactor(tipos): centralizar tipagens em src/tipos 2026-01-02 21:24:44 -03:00
.agent refactor(tipos): centralizar tipagens em src/tipos 2026-01-02 21:24:44 -03:00
.gitignore chore: alinhar projeto às regras do agent 2026-01-02 21:16:50 -03:00
index.html Primeira Versão do Sistema de componentes Vue 2025-12-08 13:59:04 -03:00
package.json Primeira Versão do Sistema de componentes Vue 2025-12-08 13:59:04 -03:00
pnpm-lock.yaml Primeira Versão do Sistema de componentes Vue 2025-12-08 13:59:04 -03:00
README.md chore: alinhar projeto às regras do agent 2026-01-02 21:16:50 -03:00
tsconfig.app.json Primeira Versão do Sistema de componentes Vue 2025-12-08 13:59:04 -03:00
tsconfig.build.json Primeira Versão do Sistema de componentes Vue 2025-12-08 13:59:04 -03:00
tsconfig.json chore: alinhar projeto às regras do agent 2026-01-02 21:16:50 -03:00
vite.config.ts Primeira Versão do Sistema de componentes Vue 2025-12-08 13:59:04 -03:00

eli-vue — Design System (Vue 3 + TypeScript)

Biblioteca de componentes Vue 3 (Design System) para reutilização em múltiplos projetos, com foco em:

  • consistência visual e comportamental
  • tipagem forte (TypeScript strict)
  • documentação em português
  • exemplos executáveis via playground

As regras do repositório estão descritas em .agent.

Instalação

Como dependência do projeto:

pnpm add eli-vue

Observação: vue e vuetify são peerDependencies. Garanta que seu projeto já os tenha instalados.

Uso

1) Registro global (plugin)

import { createApp } from "vue";
import EliVue from "eli-vue";

import App from "./App.vue";

createApp(App).use(EliVue).mount("#app");

2) Importação direta de componentes

import { EliBotao, EliInput, EliBadge } from "eli-vue";

Convenções do projeto

  • Componentes usam prefixo Eli (ex.: EliBotao, EliInput).
  • Pastas seguem português (ex.: src/componentes/botao, src/componentes/campo, src/componentes/indicador).
  • Sem TSX; padrão SFC: <template> + <script lang="ts"> + defineComponent.
  • Evitar any.

Como criar um novo componente (checklist)

  1. Criar pasta em src/componentes/<nome_em_portugues>/
  2. Criar EliNomeDoComponente.vue com defineComponent + comentários úteis
  3. Criar index.ts re-exportando o componente
  4. Criar README.md do componente (API, exemplos, casos de borda)
  5. Criar playground em src/playground/<nome>.playground.vue (3+ variações)
  6. Exportar no src/index.ts

Como rodar o playground

pnpm dev

O playground fica em src/playground e serve para validar visualmente os componentes durante o desenvolvimento.