import { type EventEmitter } from '../../stencil-public-runtime'; import type { BrDensity, BrLinkTarget, BrNavigateDetail, BrNavigationMode } from '../global.types'; import type { SignInEmphasis, SignInShape } from './sign-in.types'; /** * O `br-sign-in` padroniza o botão oficial de autenticação da conta gov.br. * * Pode ser exibido no formato padrão (bloco com texto) ou no formato circular compacto com `shape="circle"`. Use a propriedade `density` para ajustar a densidade visual. * * ```html * * * ``` * * ### Quando usar * * - Ponto de acesso ou login único com a conta Gov.br em serviços públicos federais. * * ### Quando evitar * * - Ações gerais de formulário (salvar, enviar, cancelar): use `br-button`. * * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/signin?tab=designer). * * @category Identidade, Ações, Formulários * @status stable * @slot default - Slot para o texto do sign-in. * @slot icon - Slot para ícone personalizado; em `shape="circle"`, o padrão é um SVG local de usuário. * @slot image - Slot para imagem ou ícone ao lado do texto. * * @part content - Parte para a área de conteúdo/texto do sign-in, usada para estilização via ::part(). * @part image - Parte para a área da imagem/ícone, usada para controle de tamanho via CSS e ::part(). */ export declare class SignIn { /** * Referência ao elemento host do componente. * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente. */ el: HTMLBrSignInElement; /** * Identificador único do componente. * Quando omitido, um valor é gerado automaticamente. * * > **Padrão:** valor único gerado por generateUniqueId(). * */ customId: string; /** * Define se o sign-in usará um esquema de cores escuro, para fundos escuros. * Quando omitido, ou com valor diferente de `dark`, usa o esquema claro. */ colorMode: 'dark'; /** * Define a densidade visual do componente. * * - `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento). * - `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos. * - `large`: Baixa densidade (componente maior, mais espaçamento e altura). * * Valores inválidos usam `medium`. */ density: BrDensity; /** * Desabilita a interação com o componente. * */ disabled: boolean; /** * Define a ênfase do sign-in, alterando sua aparência para criar hierarquia visual. */ emphasis: SignInEmphasis; /** * Define o formato do sign-in. */ shape: SignInShape; /** * URL para onde o usuário será redirecionado ao clicar. Use para login com provedores externos ou em sites tradicionais. */ href: string; /** * Define onde abrir o link quando href é fornecido. */ target: BrLinkTarget; /** * 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. */ navigationMode: BrNavigationMode; /** * Define o rótulo acessível usado por tecnologias assistivas. * */ ariaLabel: string; private get effectiveColorMode(); private get effectiveEmphasis(); private get effectiveShape(); private get effectiveTarget(); private get effectiveNavigationMode(); /** * 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; private handleClick; private handleFocus; private hasSlotContent; private getCssClassMap; private getTagType; private getAttributes; render(): any; }