Pular para o conteúdo

Link

CTA inline com indicador de seta para continuidade de leitura e navegação contextual.

Instalação

Em React/Next e Vue3/Nuxt4, o snippet usa o Button da stack como primitivo (variant="link" com asChild/as-child). Instale o Button se ele ainda não existir e rode o comando individual do Link em seguida.

terminal · React/Next

pnpm dlx shadcn@latest add button
pnpm dlx github:ITPS/sinapse-ui-cli add link

terminal · Vue3/Nuxt4

pnpm dlx shadcn-vue@latest add button
pnpm dlx github:ITPS/sinapse-ui-cli add link

O comando individual itps add link é theme-only: ele valida o slug e confirma que o contrato visual vem do tema ITpS, das classes copy-first e dos snippets desta página.

Uso

Use Link para CTAs inline e continuidade de leitura, como “ver detalhes”, “saiba mais” ou “ver componentes”. Ele não substitui todos os anchors: breadcrumb, footer e texto corrido podem usar <a> simples quando não precisam do tratamento visual de CTA.

Em React/Next com shadcn/ui e Vue3/Nuxt4 com shadcn-vue, use Button variant="link" com asChild/as-child para manter o destino como <a>. Para HTML ou wrappers finos, use itps-link diretamente no anchor.

Exemplos

Estrutura

PeçaReact/Next e Vue3/Nuxt4HTML
Ação inlineButton variant="link"itps-link
Destino realasChild / as-child + <a><a href>
Tamanhoutilitários de textoitps-link--xs, itps-link--sm, itps-link--lg
Estado indisponívelaria-disabled + estado localis-disabled ou aria-disabled="true"
Íconecomposição visual<i class="ti ...">

Tamanhos, estados e ícones

Use tamanhos menores em listas densas e lg em chamadas de destaque. Em estado indisponível, remova href e mantenha aria-disabled="true". Ícones nos exemplos são decorativos e devem ficar com aria-hidden="true".

API copy-first

Classe/atributoUso
itps-linkCTA inline com texto, foco visível e indicador opcional.
itps-link itps-link--xsLink compacto para metadados ou listas densas.
itps-link itps-link--smTamanho padrão para CTAs inline.
itps-link itps-link--lgCTA maior para seções de destaque.
is-disabledEstado visual indisponível. Use sem href.
aria-disabled="true"Comunica que o link está indisponível quando renderizado sem href.
target="_blank" rel="noopener noreferrer"Use para destinos externos abertos em nova aba.
aria-hidden="true"Use em ícones decorativos quando o texto já descreve o destino.

Acessibilidade

Use <a href> quando houver navegação real. Se o link estiver indisponível, renderize sem href, adicione aria-disabled="true" e evite handlers de clique. O texto precisa descrever o destino; use aria-label apenas quando houver ambiguidade real. Ícones decorativos devem manter aria-hidden="true".