@govbr-ds/webcomponents
Version:
Biblioteca de Web Components baseado no GovBR-DS
65 lines (64 loc) • 2.11 kB
TypeScript
/**
* Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/magicbutton?tab=designer).
*
* @slot default - Conteúdo interno do botão (texto ou ícone).
*/
export declare class MagicButton {
/**
* Referência ao elemento host do componente.
* Utilize esta propriedade para acessar e manipular o elemento DOM associado ao componente.
*/
el: HTMLBrMagicButtonElement;
/**
* Identificador único.
* Se não for fornecido, será gerado automaticamente.
*/
readonly customId: string;
/**
* Texto do rótulo do botão.
* Utilizado como conteúdo principal quando presente.
*/
readonly label: string;
/**
* Nome do ícone a ser exibido.
* Deve corresponder a um ícone disponível no sistema de ícones.
*/
readonly icon: string;
/**
* Densidade do botão.
* Define o tamanho do componente:
* - `large` para grande
* - `medium` para médio
* - `small` para pequeno
*/
readonly density: 'large' | 'medium' | 'small';
/**
* Define se o botão terá formato circular.
* Aplica contorno arredondado completo quando `true` e não houver `label`.
*/
readonly circle: boolean;
/**
* Texto de acessibilidade (ARIA label).
* Deve ser fornecido para ícones sem texto para garantir acessibilidade.
*/
readonly ariaLabel: string;
/**
* Gera o mapeamento de classes CSS baseado nas propriedades de densidade.
* @returns Mapa de classes CSS para o container do botão mágico.
*/
private getCssClassMap;
/**
* Gera o mapeamento de classes CSS para aplicar o estilo de botão circular.
* @returns Mapa contendo a classe `circle` quando aplicável.
*/
private getCircleClass;
/**
* Retorna a classe de CSS para posicionar ícone e label juntos.
* @returns `label-icon` quando houver `label` e `icon`; string vazia caso contrário.
*/
private getLabelIconClass;
/**
* Renderiza o componente.
*/
render(): any;
}