export type ButtonType = "primary" | "secondary" | "ghost" | "conversion" | "conversion-secondary" | "conversion-ghost" | "conversion-icon-only" | "icon-only" | "secondary-icon-only" | "black-secondary" | "black-ghost" | "black-icon-only" | "white" | "white-secondary" | "white-ghost" | "white-icon-only" | "subscription" | "subscription-secondary" | "subscription-ghost" | "subscription-icon-only";
export type ButtonSize = "small" | "medium";
interface ButtonCommonProps {
/**
* Tipo do elemento renderizado. Essa propriedade permite renderizar
* um HTMLButtonElement ou HTMLLinkElement.
*/
renderElementType?: "button" | "a";
/**
* Tipo de elemento renderizado para passar um feedback de carregamento
* para o usuário.
*/
loading?: boolean;
/**
* Tipo visual do botão. Para configurar o type do botão,
* olhar a Prop buttonType.
*
*
Os seguintes tipos estão descontinuada (deprecated)
* icon-only, secondary-icon-only, white-icon-only,
* black-icon-only, subscription-icon-only, conversion-icon-only
*
*
*/
type: ButtonType;
/**
* Tamanho do botão.
*/
size: ButtonSize;
/**
* Texto do botão.
*/
label?: string;
/**
* Habilita o estilo inverse do componente.
*
*
Essa propriedade está descontinuada (deprecated)
*
*
*/
inverse?: boolean;
/**
* Configura o posicionamento do ícone no componente, caso exista.
* "leading-icon" posiciona o ícone à esquerda do texto, "step" à direita ou "double" para ambos lados.
*/
icon?: string;
/**
* Nome do ícone que deve ser carregado, caso exista.
* O ícone deve estar contido na biblioteca de ícones do Pulso.
*/
iconName?: string;
/**
* Atributo padrão do elemento \