Pular para o conteúdo

Link

Leva para outra tela, âncora ou endereço externo, sem disparar uma ação.

O Link navega; o Button age. Use link para "Ver Pedidos" ou "Abrir Página pública", e botão para "Publicar Marca". A fachada tem dois: o Link do HeroUI v3 (texto com seta opcional) e o ExternalLink do PrivateLab, o único lugar onde o Admin escreve um <a> para fora do roteador (e-mail, Página pública, âncora).

import { ExternalLink, Link } from "@rastreio-x/ui";

Padrão

Link.Icon desenha a seta de destino. Omita o ícone em links dentro de frases.

Dentro de texto

Em parágrafos, o link herda o tamanho do texto e se distingue pelo sublinhado e pela cor de link, nunca só pela cor.

Ícone próprio

Passe outro ícone de @rastreio-x/ui/icons como filho de Link.Icon, com aria-hidden.

Endereço externo

Para fora do produto, use target="_blank" com rel="noopener noreferrer" e avise o leitor de tela com um sr-only.

Desabilitado

isDisabled bloqueia o ponteiro e o teclado. Diga ao lado por que o destino não está disponível.

ExternalLink usa o token de link (contraste 4,5:1 e foco visível). Endereços http(s) abrem em nova aba e anunciam "abre em nova aba"; mailto: e âncoras ficam na mesma aba.

as="button" troca a aparência para a de um botão, com as variantes primary, secondary e ghost. Continua sendo um link: o destino abre no navegador, não dispara onPress.

Anatomia

  • Link: o <a> com o rótulo.
  • Link.Icon: a seta (ou o ícone passado como filho).

O ExternalLink é uma peça só: <a> com classes de token, e o aviso sr-only quando abre em outra aba.

Propriedades

Link:

Link.Icon:

ExternalLink:

Animações

O Link anima só a cor e o sublinhado no hover, em transição curta de CSS. O ExternalLink não anima: o selo de movimento detectado para ele vem de arquivos que compartilham o módulo page.tsx, não do componente. Com prefers-reduced-motion, a folha global da fachada reduz as transições a 0,01 ms.

Acessibilidade

  • É um <a href>: Enter ativa, e o clique do meio e "Abrir em nova aba" funcionam.
  • O rótulo diz o destino ("Ver Pedidos"), nunca "clique aqui".
  • Link que abre nova aba anuncia isso (sr-only), como faz o ExternalLink por padrão.
  • O foco visível usa o token --focus; o contraste do texto de link é de 4,5:1.
  • Um link desabilitado sai da ordem de tabulação; explique o motivo no texto vizinho.

Boas práticas

Faça

Rótulo que diz o destino, link para navegar e botão para agir.

Evite

Link que dispara uma ação (publicar, excluir) ou rótulo vago como “clique aqui”.
  • Dentro do Admin, navegue entre telas com o Link do roteador estilizado; use ExternalLink para tudo que sai do roteador.
  • Não esconda a seta de um link que sai do produto.
  • Não use link para alternar visões do mesmo contexto: prefira Tabs ou Segment.

Relacionados

  • Button para ações.
  • Breadcrumbs para a trilha entre páginas.
  • Tabs para alternar visões do mesmo objeto.