Navegação

Biblioteca

Changelog

Biblioteca interna em evolução. O pacote @voxmente/ui não é publicado em nenhum registry: quem consome está dentro deste monorepo, e o identificador de uma mudança é o commit.

Convenção de versão

Biblioteca interna em evolução. `@voxmente/ui` é consumido por workspace (`"@voxmente/ui": "*"`) e não é publicado em nenhum registry.

  • O identificador de uma mudança é o commit, não um número de versão: dentro do monorepo, site e pacote sobem juntos.
  • Enquanto o pacote não for publicado, a versão declarada em package.json não é promessa de compatibilidade e não deve ser usada como tal.
  • Toda mudança com impacto `api` ou `migracao` entra neste changelog com a instrução de migração junto. Sem instrução, a mudança não está pronta.
  • Uma decisão de arquitetura que sustenta a mudança mora no ADR; o changelog aponta para ele em vez de repetir o raciocínio.

Decisão humana pendente. Adotar SemVer formal e publicar o pacote é uma escolha de produto, não de implementação: muda quem pode consumir, com que garantia e sob qual custo de manutenção de faixa. Fica registrado como decisão humana pendente.

Classificação de impacto

  • visualMuda o que se vê sem mudar o que se chama.
  • APIMuda assinatura, nome de prop ou subpath de import.
  • acessibilidadeMuda papel, nome acessível ou ordem de foco.
  • migraçãoExige trabalho de quem já consome a biblioteca.

Mudanças

  1. 2026-09-01cee3b90
    • API
    • migração
    • visual

    Escala de tamanho vira md, e as fontes passam a ser do pacote

    Auditoria contra o registry base-nova fechou três lacunas. A escala de tamanho deixa de ter `default` como degrau: agora é `xs | sm | md | lg`, e `icon-xs | icon-sm | icon-md | icon-lg` nas quadradas — `default` era posição na lista, não medida, e mentia assim que alguém trocasse o padrão. As famílias tipográficas (Geist, Inter, Geist Mono) passam a ser definidas por `theme.css` com fallback completo, em vez de dependerem do layout do app. E a navegação do storybook, que continua sem importar a biblioteca de propósito, passa a obedecer aos tokens `--sidebar-*` em vez de inventar a própria aparência.

    Migração: Troque `size="default"` por `size="md"` e `size="icon"` por `size="icon-md"`. Atinge Button, Toggle, ToggleGroup, Item, Logo, Avatar, Card, Select, NativeSelect, Switch, AlertDialogContent, SidebarMenuButton, UserCell e PaginationLink. Quem apenas omite `size` não precisa fazer nada. Apps que carregam fonte por `next/font` devem renomear as variáveis para `--font-sans-loaded`, `--font-heading-loaded` e `--font-mono-loaded`.

    decisão: docs/adr/0011-divergencias-deliberadas-do-registry-shadcn.md

  2. 2026-08-3078d951c
    • visual

    Biblioteca como fonte da verdade operacional

    Status deixa de ser adjetivo digitado e passa a ser derivado de evidência: página escrita, playground, API extraída, contrato editorial e varredura de acessibilidade. O overview ganha taxonomia explícita, rotas por intenção e painel de saúde. As páginas ganham um contrato editorial central.

  3. 2026-08-300bd486b
    • visual

    Seis componentes de IA e painel, variante sensitive

    AI Suggestion, Chat Panel, Copilot Dock, Draft Status, Filter Panel e Indicator Rating entram na biblioteca. Entram como beta: são superfícies novas, e a validação ainda não cobre o comportamento delas.

  4. 2026-08-3097d9164
    • visual

    Cabeçalho único do site

    A home e a biblioteca tinham navegações diferentes no mesmo produto. Passa a existir um cabeçalho só, com busca e alternância de tema.

  5. 2026-08-30a88b2b0
    • visual

    Anatomia derivada das próprias demonstrações

    A árvore de partes de cada componente composto passa a ser extraída das demonstrações da página, então descreve um exemplo que de fato renderiza — e revela as partes exportadas que nenhuma demonstração usa.

  6. 2026-08-30702a97a
    • visual

    Sidebar documentado por inteiro

    A página cobria só o item de menu. Passa a cobrir provider, grupos, estado recolhido e comportamento em celular — que é o que a casca de tela realmente usa.

  7. 2026-08-30a747c4b
    • acessibilidade

    Sensor de acessibilidade com interação

    A varredura passa a interagir com a página antes de medir. Foi a interação que revelou os defeitos que tsc, lint e build não pegam — contexto de menu ausente e prop não controlada mudando depois da montagem.

  8. 2026-08-302a61d72
    • API

    TypeScript como fonte de verdade da API

    A tabela de props deixa de ser escrita e passa a ser extraída do TypeScript do pacote a cada build. Se a documentação divergir do código, é porque o código mudou.

    decisão: docs/adr/0008-typescript-como-fonte-de-verdade-da-api-documentada.md

  9. 2026-08-3004b0987
    • visual

    PageHeader quebra linha em telas estreitas

    Título e ações se empilhavam mal abaixo de 400 px, e o cabeçalho estourava a largura da tela.

  10. 2026-08-28625bb4f
    • visual

    Camada de tela e expansão para 53 componentes

    Entra a camada que o shadcn não cobre: casca de tela, cabeçalho de página, estados de tela, sem permissão, cartão de métrica, célula de pessoa.

    decisão: docs/adr/0007-expansao-do-design-system-para-53-componentes.md

  11. 2026-08-2755423b0
    • API
    • migração

    Design system extraído para @voxmente/ui

    Os componentes saem do site e viram pacote do monorepo, importado por subpath exato. Não existe barrel file: cada componente é um módulo.

    Migração: Importe por subpath — `@voxmente/ui/components/ui/<slug>` — em vez de caminho relativo dentro do site.

    decisão: docs/adr/0006-pacote-de-design-system-compartilhado-voxmente-ui.md

Decisões de arquitetura registradas

Lidas de docs/adr a cada geração. O ADR é a fonte da verdade de uma decisão; esta lista é só um índice.

  • 0001 ADR-0001: Local canônico de ADRs e inicialização de controle de versão
  • 0002 ADR-0002: Fixar Compozy CLI legado em v0.2.15
  • 0003 ADR-0003: Stack do site institucional — Next.js + shadcn/ui, mesmo repositório
  • 0004 ADR-0004: Fronteira entre os repositórios VoxMente e Product
  • 0005 ADR-0005: Adoção de monorepo — reversão do ADR-0004
  • 0006 ADR-0006: Pacote de design system compartilhado (`@voxmente/ui`)
  • 0007 ADR-0007: Expansão do design system para 53 componentes shadcn/ui
  • 0008 ADR-0008: TypeScript como fonte de verdade da API documentada
  • 0009 ADR-0009: Fonte de verdade do escopo contratado
  • 0010 ADR-0010: Backoffice como rotas dentro do site, não app separado
  • 0011 ADR-0011: Divergências deliberadas do registry shadcn
  • 0012 ADR-0012: A moldura do storybook não importa a biblioteca
  • 0013 ADR-0013: Instalação dos 68 exemplos de gráfico do registry shadcn
  • 0014 ADR-0014: Identidade global da pessoa, autorização por vínculo concreto
  • 0015 ADR-0015: Abandono do `.pen` como ferramenta de design do produto
  • 0016 ADR-0016: O canvas de sitemap é derivado dos `.md` de escopo
  • 0017 ADR-0017 — Sensores de execução e geração de tela a partir do escopo
  • 0018 ADR-0018 — Compozy como orquestrador de sensores (proposta, não adotado)
  • 0019 ADR-0019 — A régua de largura é da área, não da tela

Geração: commit indisponível · @voxmente/ui 0.0.0 (não publicado)