← Biblioteca componentes/dados/diagrama-hub/ficha.md Abrir previewmarkupestiloscript
dados/diagrama-hub

Diagrama hub com traços calculados sobre o DOM

🟢 estavel complexidade alta prefixo hub- diagrama svg arquitetura hub orbita runtime dados

Composição simétrica: dois territórios com listas de itens nas laterais, um núcleo circular no meio com um ponto em órbita, e uma terceira ramificação pendurada embaixo. Os traços que ligam tudo são SVG desenhados em runtime, a partir da posição real que os elementos ocuparam na tela — e entram sendo traçados quando a seção aparece.

Nenhuma coordenada é fixa. É o que faz o diagrama sobreviver a qualquer largura, tradução ou mudança de texto sem ninguém reabrir o Illustrator.


Quando usar

Quando não usar


Padrão editorial

Slot Regra
Título 1 linha curta, uma palavra em <em>. Ele é nowrap no desktop — se não couber em uma linha, encurte o texto, não mexa no CSS.
.hub-cap b 1 palavra: o território. "Brasil", "Exterior".
.hub-cap span 1 palavra técnica, minúscula: "onshore", "offshore".
.hub-list 4 itens de cada lado, mesma contagem. 5 a 9 palavras cada.
.hub-core-inner 3 a 5 palavras, com <br> manual. É a tese da seção: "Sua família no centro".
.hub-foot Rótulo curto em caixa alta e 1 frase de até 50ch.

Contagem igual dos dois lados é estrutural. O align-items:center do grid centraliza cada coluna; com listas de alturas muito diferentes, os traços saem em alturas que não conversam.


Como usar

<link rel="stylesheet" href="componentes/dados/diagrama-hub/estilo.css">
<script src="componentes/dados/diagrama-hub/script.js"></script>

Ganchos

Gancho Papel
[data-hub] a raiz, e o sistema de coordenadas dos traços
[data-hub-links] o SVG dos traços
[data-hub-core] o núcleo — origem dos três traços
[data-hub-node="left"] / "right" as figuras laterais, pontas dos traços
[data-hub-foot] a terceira ramificação
.hub.is-drawn dispara o traçado e a entrada dos ícones

Variações


Gotchas


Histórico

Projeto Onde Data Diferenças
Liberta Wealth index.html #planejamento + main.js 2026-08 Origem. Ids #hub, #hubLinks, #linkL/R/D, #hubCore, #figBR, #figEX — o script conhecia cada elemento pelo nome. Classes .cap, .o-ring, .o-dot, .o-spin, .hub-foot-dm fora do prefixo, .drawn como estado, --sage/--tan cruas.

Normalizações aplicadas na extração: ids → [data-hub-*], o que permite mais de um diagrama na página e desacopla o script dos nomes do conteúdo (figBR/figEX amarravam o código a "Brasil" e "Exterior"); .cap.hub-cap, .o-*.hub-ring/.hub-dot/.hub-spin, .hub-foot-dm.hub-foot-mark; .drawn.is-drawn; --sage/--tan--accent/--accent-2.

Código morto removido: o CSS de origem ainda trazia .geo-line, .geo-wire, .geo-arc e .geo-pin — classes de uma versão anterior em que os mapas eram SVG inline "desenhados" por stroke-dashoffset. Na versão que rodou, os mapas viraram <img> e essas regras nunca mais foram usadas. Não vieram para a biblioteca.