Uso
Dois arquivos do kit, e é a única aba da casa: a coluna do Nash Workspace, os trilhos da Voz e da Música, o Nash Code, o PWA e a navegação do site são esta peça. Carregar o JS basta pra ter a placa e a luz: todo .nash-tab-bar da página é montado sozinho, deixando o estado com a página.
<link rel="stylesheet" href="css/nash-tab-bar.css" /> ← depois de nash-componentes.css
<nav class="nash-tab-bar" id="modos" aria-label="Modo"></nav>
<script src="js/nash-tab-bar.js"></script>
// a peça manda no estado: monta as abas da tabela, troca no clique e nas setas
const trilho = NashTabBar.montar('#modos', {
ativa: 'chat', // ou a aba com aria-selected no HTML
aoTrocar(modo, p) { /* p.de, p.para, p.direcao, p.origem, p.duracao */ }
})
trilho.ativar('design') // pela API: viaja
trilho.el.addEventListener('nash-tab-troca', (e) => e.detail)
// variante congelada, pra documentação — não responde ao ponteiro:
<button class="nash-tab" data-mode="imagem" data-state="hover">
<i class="nash-tab-alvo"></i><i class="nash-tab-luz"></i><i class="nash-dot"></i>
<span class="nash-tab-rotulo">Imagem</span>
</button>
// a página manda no estado (o que a montagem automática faz):
NashTabBar.montar(el, { estado: 'pagina' }) // segue aria-selected, aria-pressed ou aria-current
// no trilho: data-passagem="corte" · data-pulso="off" · nash-tab-bar--coluna · --nash-tab-accent: … · --nash-tab-escala: 4
// na aba: data-mode="chat|voz|design|imagem|social" · data-avulsa="true" (interruptor fora da placa que viaja)