import { type EventEmitter } from '../../stencil-public-runtime'; import type { BrNavigateDetail, BrNavigationMode } from '../global.types'; /** * ## Design System * * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/link?tab=designer). * * @category Navegação * @status stable * @slot default - Conteúdo do link (texto, ícones ou outros elementos). * @part anchor - Parte exposta para o elemento âncora interno, usada para estilos customizados via `::part(anchor)`. */ export declare class Link { private readonly el; /** * URL de destino do link. */ readonly href: string; /** * Define como o link será aberto. * - `_self`: abre no mesmo contexto de navegação * - `_blank`: abre em nova aba ou janela * - `_parent`: abre no contexto pai * - `_top`: abre no contexto de nível superior */ readonly target?: '_self' | '_blank' | '_parent' | '_top'; /** * Relação entre o documento atual e o destino (`rel`). * Quando `target="_blank"`, `noopener` e `noreferrer` são sempre incluídos * (mesmo que `rel` seja definido) para mitigar tabnabbing e vazamento de `window.opener`. */ readonly rel?: string; /** Nome sugerido para download. Uma string vazia preserva o nome definido pelo servidor. */ readonly download?: string; /** Idioma do recurso apontado pelo link. */ readonly hreflang?: string; /** Política de referrer usada ao buscar o destino. */ readonly referrerPolicy?: ReferrerPolicy; /** Tipo MIME informativo do recurso apontado. */ readonly type?: string; /** * Controla como o componente integra a navegação mantendo `href` real no elemento navegável. * - `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C. * - `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir. * Cliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos. */ readonly navigationMode: BrNavigationMode; /** * @deprecated Use `navigationMode="event"` e o evento `brNavigate`. */ readonly isSpaLinkBehavior: boolean; /** * Desativa o link, tornando-o não interativo. * Quando `true`: remove o `href` (um `` sem `href` sai da ordem de * tabulação e não recebe foco, nem por clique), marca `aria-disabled="true"` * e bloqueia o clique (sem navegação nem emissão de `brNavigate`). * Se o link estiver focado no momento da desativação, o foco é removido. * Útil para componentes como `br-pagination` e `br-wizard`. */ readonly disabled: boolean; /** * Exibe o link com o mesmo visual do componente `br-button`. */ readonly button: boolean; /** * Encaminhamento de `role` para o elemento âncora interno. */ readonly linkRole?: string; /** * Encaminhamento de `aria-expanded` para o elemento âncora interno. */ /** @deprecated Use `ariaExpanded`. */ readonly linkAriaExpanded?: string; /** Valor canônico de `aria-expanded`. */ readonly ariaExpanded: string | null; /** * Encaminhamento de `aria-selected` para o elemento âncora interno. */ /** @deprecated Use `ariaSelected`. */ readonly linkAriaSelected?: string; /** Valor canônico de `aria-selected`. */ readonly ariaSelected: string | null; /** * Encaminhamento de `aria-haspopup` para o elemento âncora interno. */ /** @deprecated Use `ariaHasPopup`. */ readonly linkAriaHaspopup?: string; /** Valor canônico de `aria-haspopup`. */ readonly ariaHasPopup: string | null; /** * Encaminhamento de `aria-current` para o elemento âncora interno. * Indica o item ativo em um conjunto de navegação (breadcrumb, menu, paginação). * Valores comuns: `"page"` (link da página atual), `"step"` (etapa ativa), `"true"`. * Referência: WCAG 1.3.1 e ARIA `aria-current`. */ /** @deprecated Use `ariaCurrent`. */ readonly linkAriaCurrent?: string; /** Valor canônico de `aria-current`. */ readonly ariaCurrent: string | null; /** * Encaminhamento de `aria-label` para o elemento âncora interno. * Fornece nome acessível ao link quando o conteúdo do slot não é descritivo * por si só (ex.: link com ícone sem texto visível). */ /** @deprecated Use `ariaLabel`. */ readonly linkAriaLabel?: string; /** Valor canônico de `aria-label`. */ readonly ariaLabel: string | null; /** * Encaminhamento de `aria-describedby` para o elemento âncora interno. * Referencia o `id` de um elemento externo que descreve o link. */ /** @deprecated Use `ariaDescribedBy`. */ readonly linkAriaDescribedby?: string; /** Valor canônico de `aria-describedby`. */ readonly ariaDescribedBy: string | null; protected handleDisabledChange(isDisabled: boolean): void; /** * Evento cancelável emitido em `navigation-mode="event"` para cliques primários sem modificadores em links `_self`. * Chame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA. */ brNavigate: EventEmitter; /** @deprecated Use `brNavigate`. */ brSpaNavigate: EventEmitter; private readonly handleClick; private readonly getAnchorAttrs; private readonly getRel; render(): any; }