import type { AriaHasPopup, ButtonColorMode, ButtonDensity, ButtonEmphasis, ButtonShape, ButtonType } from './button.types'; /** * O `br-button` executa uma ação: salvar, enviar um formulário, abrir um modal, aplicar um filtro. * * O texto e o ícone vão dentro do botão. A aparência é definida por `emphasis` (`primary`, `secondary` ou `tertiary`) e `shape` (`circle`, `block` ou `pill`). * * ```html * Enviar * * * * * ``` * * O tipo padrão é `button`. Use `type="submit"` ou `type="reset"` para agir sobre o formulário em que o botão está. Durante uma operação demorada, ative `loading`. * * ### Quando usar * * - Executar uma ação na página atual. * - Abrir modal, menu ou painel. * * ### Quando evitar * * - Para ir a outra página: use `br-link` ou ``. * - Para escolher entre opções: use `br-radio` ou `br-checkbox`. * * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/button?tab=designer). * * @category Ações, Formulários * @status stable * @slot default - Slot para o rótulo ou conteúdo do botão. * @part button - Parte para o elemento button interno, usada para estilos customizados via ::part(button). */ export declare class Button { elementInternals: ElementInternals; /** * Referência ao elemento host do componente. * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente. */ el: HTMLBrButtonElement; private formDisabled; private nativeButton?; formDisabledCallback(disabled: boolean): void; /** * Define se o botão usará um esquema de cores escuro. Valores inválidos são ignorados. */ colorMode?: ButtonColorMode; /** * Identificador único do componente. * Quando omitido, um valor é gerado automaticamente. * * > **Padrão:** valor único gerado por generateUniqueId(). * */ customId: string; /** * 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: ButtonDensity; /** * Desabilita a interação com o componente. * */ disabled: boolean; /** * Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes. Valores inválidos são ignorados. */ emphasis?: ButtonEmphasis; /** * Indica se o botão está no estado ativo. * Se definido como verdadeiro, o botão será exibido como ativo. * * @deprecated Use `active`. */ isActive: boolean; /** Estado ativo atual. Quando informado, tem precedência sobre `isActive`. */ active?: boolean; /** * Aplica o estado de "progresso" ao botão. * O botão exibirá um indicador de carregamento ou progresso. * * @deprecated Use `loading`. */ isLoading: boolean; /** Estado de carregamento atual. Quando informado, tem precedência sobre `isLoading`. */ loading?: boolean; /** * Define o formato do botão. Valores inválidos são ignorados. */ shape?: ButtonShape; /** * Define o tipo de botão, especificando seu comportamento padrão. * Quando omitido, usa `button`; valores inválidos também usam `button` e geram aviso no console. */ type?: ButtonType; /** * Define o valor inicial do botão em um formulário. */ value?: string; /** * Define o índice de tabulação do botão. * Útil para remover o botão da sequência de tabulação (tabindex="-1") quando ele é puramente decorativo ou o foco é gerenciado por um componente pai. * Aceita inteiros maiores ou iguais a -1; valores inválidos são ignorados. * * @deprecated Use o atributo/propriedade nativo `tabIndex` do host. */ customTabIndex?: number; private get effectiveCustomTabIndex(); /** * Define o rótulo acessível usado por tecnologias assistivas. * */ readonly ariaLabel: string | null; /** * Define o estado de pressionado do botão. * Este atributo é usado para indicar se o botão está atualmente pressionado ou não. * É especialmente útil para botões que podem ser alternados entre os estados pressionado e não pressionado. * O valor deve ser 'true' ou 'false'. */ readonly ariaPressed: string | null; /** * Indica se um elemento controlado pelo botão está expandido ou recolhido. * Use em botões que abrem menus, acordeões ou outros painéis expansíveis. * O valor deve ser 'true' ou 'false'. */ readonly ariaExpanded: string | null; /** * Referência ao ID do elemento que o botão controla. * Use em conjunto com `ariaExpanded` para relacionar o botão ao painel que ele expande/recolhe. */ readonly ariaControls: string | null; /** * Indica que o botão abre um menu, listbox, tree, grid ou dialog. * Os valores permitidos são: 'true', 'menu', 'listbox', 'tree', 'grid' ou 'dialog'. * Valores inválidos são removidos do elemento interno. */ readonly ariaHaspopup: AriaHasPopup | null; componentDidLoad(): void; private handleClick; private getCssClassMap; private get effectiveColorMode(); private get effectiveEmphasis(); private get effectiveShape(); private get effectiveType(); private get effectiveAriaHaspopup(); render(): any; }