A carregar o Trama…
Saltar para o conteúdo
Secções da página
Em breveEstamos a preparar o acesso ao Trama. Em breve poderá pedi-lo aqui.

Interfaces tecidas à mão para Vue 3

Grandes ferramentas, um só sistema de tokens, temas e idiomas, e pronta para agentes de IA.

InstalaçãoEm breveEstamos a preparar o acesso ao Trama. Em breve poderá pedi-lo aqui.

Versão 9.2.4

O que é

Ferramentas prontas para produção, um só sistema de design e pronta para agentes.

  • Grandes ferramentas, de série

    Grelha com cem mil linhas, kanban, Gantt, diagramas, agenda, gestor de ficheiros e editor de PDF. O que noutras bibliotecas é um extra pago ou um pacote à parte.

  • Um só sistema

    Os mesmos tokens, temas, idiomas e ritmo de espaçamento em cada peça. Mudar o tema muda tudo, também no escuro e com contraste AA.

  • Pronta para agentes

    Um servidor MCP para que os agentes de código a usem bem e um renderizador A2UI para que os agentes de interface desenhem com ela.

componentes
105
idiomas completos
4
famílias de tema
7
ficheiros de testes
637

Números contados no build a partir do código da biblioteca.

Componentes estrela

Tabela, lista de linhas, kanban, Gantt, diagramas e agenda: reais e para mexer.

  1. TrDataGrid

    Cem mil encomendas geradas no navegador, virtualizadas, agrupadas por região e com filtro avançado. Ordenar, filtrar, pesquisar ou agrupar por outra coluna.

    • Virtualização
    • Filtro avançado
    • Agrupar e totais
    • Edição em linha
    • Exportar para Excel
    • Vistas guardadas

    Experimentar: Abrir «Filtro avançado» e combinar condições com E e OU.

    A carregar a demonstração… TrDataGrid
  2. TrRailList

    Os mesmos dados da tabela, em linhas sem <table>: título, subtítulo e um rail de colunas alinhadas que se ajusta à largura. Agrupe, pesquise, reordene arrastando e crie ou edite num painel lateral.

    • Zonas conforme a largura
    • Agrupar
    • Reordenar arrastando
    • Editar em painel lateral
    • Filtro avançado
    • Árvore

    Experimentar: Arraste uma encomenda pela pega para outro grupo de estado.

    A carregar a demonstração… TrRailList
  3. TrKanban

    Arrastar cartões entre colunas com o rato, o dedo ou o teclado. Limite de trabalho em curso, raias, lista com subtarefas e anular.

    • Arrastar com teclado
    • Limite WIP
    • Raias
    • Subtarefas
    • Desfazer
    • Vistas de tabela e calendário

    Experimentar: Mover um cartão para «Em curso» e passar de três.

    A carregar a demonstração… TrKanban
  4. TrGantt

    Fases, marcos e dependências com o caminho crítico assinalado. Mover ou esticar uma barra e o plano é recalculado.

    • Dependências
    • Caminho crítico
    • Marcos
    • Recursos e carga
    • Linha de base
    • Planeamento automático

    Experimentar: Arrastar «Protótipo» para a direita.

    A carregar a demonstração… TrGantt
  5. TrDiagram

    Quadro editável sobre uma tela própria: nós, ligações, estilos e minimapa. Este fluxo foi escrito em Mermaid.

    • Tela própria
    • Formas e ligações
    • Minimapa
    • Mermaid
    • Exportar para SVG e PNG
    • Disposição automática

    Experimentar: Arrastar a partir do ponto de um nó até outro para os ligar.

    A carregar a demonstração… TrDiagram
  6. TrSchedule

    Agenda com dia, semana, mês e lista; recursos, calendários de trabalho e repetições. Criar um evento arrastando sobre um espaço livre.

    • Dia, semana e mês
    • Recursos
    • Repetições
    • Calendários de trabalho
    • Arrastar e esticar
    • Anexos

    Experimentar: Esticar «Reunião de equipa» meia hora.

    A carregar a demonstração… TrSchedule

A biblioteca

Além das ferramentas, uma enorme biblioteca de componentes com o mesmo design, os mesmos temas e as mesmas regras.

105componentes prontos para produção, dos botões às ferramentas completas.

  • Formulários 34

    Campos, seletores, editores e envio de ficheiros, com validação.

    • TrButton
    • TrSplitButton
    • TrChoiceButton
    • TrToggleButton
    • TrInput
    • TrInputNumber
    • TrInputPassword
    • TrInputOtp
    • TrInputTag
    • TrInputGroup
    • TrCheckbox
    • TrRadioButton
    • TrRadioGroup
    • TrToggleSwitch
    • TrSlider
    • TrRating
    • TrSelect
    • TrMultiSelect
    • TrCascadeSelect
    • TrTreeSelect
    • TrCardSelect
    • TrPickList
    • TrAutoComplete
    • TrColorPicker
    • TrIconPicker
    • TrDatePicker
    • TrTypedValue
    • TrSortableChipGrid
    • TrSignature
    • TrMarkdownEditor
    • TrFileUpload
    • TrFileManager
    • TrPdfEditor
    • TrVoiceInput
  • Dados 22

    Tabelas, listas, quadros, planeamento, diagramas e consultas.

    • TrDataGrid
    • TrDataGridToolbar
    • TrRailList
    • TrRailRow
    • TrListRow
    • TrKanban
    • TrGantt
    • TrSchedule
    • TrDiagram
    • TrQueryBuilder
    • TrLocaleCatalog
    • TrTree
    • TrTimeline
    • TrPaginator
    • TrColumnHead
    • TrPickItem
    • TrCard
    • TrAvatar
    • TrBadge
    • TrChip
    • TrTag
    • TrInplace
  • Disposição 16

    Formulários, colunas, painéis e barras que se adaptam à largura.

    • TrForm
    • TrField
    • TrFieldset
    • TrColumns
    • TrFlexColumns
    • TrFluid
    • TrHeader
    • TrFooter
    • TrToolbar
    • TrPanel
    • TrAccordion
    • TrSplitPanel
    • TrSortableList
    • TrDataList
    • TrDivider
    • TrFocusTrap
  • Camadas 10

    Janelas, painéis laterais, menus e avisos com uma animação comum.

    • TrModal
    • TrDrawer
    • TrPopover
    • TrTooltip
    • TrContextMenu
    • TrConfirmPopup
    • TrConfirmHost
    • TrDialogHost
    • TrFilePreview
    • TrHelpGuide
  • Navegação 9

    Menus, separadores, passos, índice de scroll e paleta de comandos.

    • TrSidebar
    • TrTabs
    • TrSegmented
    • TrSteps
    • TrBreadcrumb
    • TrCommandMenu
    • TrScrollIndex
    • TrScrollProgress
    • TrScrollTop
  • Alertas 6

    Mensagens, progresso, esqueletos e aparições com o scroll.

    • TrToast
    • TrMessage
    • TrProgressBar
    • TrSkeleton
    • TrLoadingOverlay
    • TrScrollReveal

O que as outras bibliotecas não têm

  1. Um só circuito de alterações

    Tabela, lista, kanban, Gantt e diagrama editam da mesma forma: guardas, desfazer e refazer, e gravação otimista que se reverte se o servidor falhar.

  2. Adaptativa a sério

    Cada componente mede o seu contentor: no telemóvel, alvos táteis, folhas a partir de baixo, toque longo e gestos.

  3. Pronta para IA

    Servidor MCP para agentes de código e um renderizador A2UI para que um agente desenhe a interface com componentes reais.

  4. Designer de temas

    Tokens semânticos, modos claro e escuro, e alterações por componente sem tocar no código.

  5. Acessível de série

    Teclado completo, foco itinerante, avisos para leitor de ecrã e movimento reduzido respeitado.

  6. Quatro idiomas incluídos

    Todos os textos em espanhol, inglês, francês e português, carregados só quando necessário.

  7. Desempenho vigiado

    Virtualização, carregamento sob demanda e orçamentos de peso e montagem verificados por testes.

  8. Ferramentas próprias, sem dependências pesadas

    Visualizador e editor de PDF, envio por partes, voz local e diagramas, feitos em casa com a mesma API.

Temas e designer

Sete famílias de tema em claro e escuro, com contraste AA.

Clássico
Suave
Azul-petróleo
Água-marinha
Cobre
Blueharbor
Blueharbor amplo
A carregar a demonstração… Componentes reais com o tema ativo

IA: MCP e A2UI

Um servidor MCP para agentes de código e um renderizador A2UI para agentes de interface.

Agentes de código: MCP

O servidor MCP trama dá ao agente o manifesto de cada componente, valida as vistas que escreve e lembra-lhe as regras. Escreve Trama bem à primeira.

Terminal simulado: um agente usa o MCP trama
> Haz una tabla de pedidos con filtro avanzadotrama.get_component({ name: "TrDataGrid" })  ← props: rows, columns, advancedFilter, toolbar… (128)<TrDataGrid :rows="pedidos" :columns="columnas"  advanced-filter :toolbar="{ actions: ['search'] }" />trama.validate_view({ source: "PedidosView.vue" })  ✓ 0 errores · 0 avisos · ritmo y v-model correctos

Agentes de interface: A2UI

Um agente descreve a interface com mensagens A2UI e o TrA2uiSurface desenha-a com componentes reais, com proteção de segurança. Aqui, um agente simulado, sem rede nem chave.

A carregar a demonstração… Superfície A2UI desenhada por um agente simulado

Adaptativo

Telemóvel, tablet e web: os componentes medem o seu contentor.

A mesma grelha, numa moldura que se estreita ao descer: ao passar cada patamar muda de modo (colunas por prioridade, cartões) porque mede a própria largura, não a janela. Depois, esticar com a pega.

A carregar a demonstração… Adaptativo

Desempenho

Números medidos na bancada, não prometidos.

  • Peso do TrDataGrid

    Antes897 KBAgora513 KB
  • Ordenar 1000 × 20 linhas agrupadas

    Antes2.724 msAgora124 ms
  • Nós do DOM ao ordenar 1000 × 20 linhas agrupadas

    Antes22.206Agora1.153
  • watch ao montar uma grelha

    Antes64Agora27
  • onMounted ao montar uma grelha

    Antes14Agora5

Bancada perf:grid da biblioteca (happy-dom), fases 1 a 5 de desempenho do TrDataGrid. Os milissegundos são relativos; os contadores, exatos.

Instalação

A partir do GitHub Packages, com pnpm, npm ou yarn.

  1. Apontar o âmbito @javeintimilla para o GitHub Packages no .npmrc do projeto (com um token de leitura de pacotes).

    .npmrc
    @javeintimilla:registry=https://npm.pkg.github.com
    //npm.pkg.github.com/:_authToken=TU_TOKEN
  2. Instalar a biblioteca.

    terminal
    pnpm add @javeintimilla/trama
    A carregar a demonstração… Gestor de pacotes
  3. Importar os estilos e usar o primeiro componente.

    main.ts
    import { createApp } from 'vue'
    import '@javeintimilla/trama/styles.css'
    import App from './App.vue'
    
    createApp(App).mount('#app')
    App.vue
    <script setup lang="ts">
    import { TrButton } from '@javeintimilla/trama'
    </script>
    
    <template>
      <TrButton variant="primary" icon="add" label="Hola, Trama" />
    </template>

O pacote e a montra são privados por agora; o acesso abrirá em breve. Em breveEstamos a preparar o acesso ao Trama. Em breve poderá pedi-lo aqui.