import { HTMLAttributeReferrerPolicy, ReactNode } from "react";
export interface ActionType {
buttonType?: "button" | "submit";
disabled?: boolean | undefined;
label: string;
name?: string | undefined;
onMouseDown?: Function | undefined;
onMouseUp?: Function | undefined;
value?: string | undefined;
onClick: Function | undefined;
onReset: Function | undefined;
children: ReactNode;
href: string;
download?: string;
hreflang?: string;
ping?: string;
referrerpolicy?: HTMLAttributeReferrerPolicy;
rel?: string;
target?: "_self" | "_blank" | "_parent" | "_top";
dataQA?: string | null;
dataCollect?: string | null;
dataCollectInfo?: string | null;
dataTestId?: string | null;
iconName?: string;
title?: string;
}
export type ToastProps = {
/**
* O conteúdo deve ser passado para o componente como um elemento filho.
*
* O componente aceita somente texto.
*
* Embora o tipo aceite também outros componentes e elementos, esse uso não estará de acordo com as definições de uso e o componente poderá não se comportar corretamente. É importante que, ao implementar, o desenvolvedor siga essa orientação, para evitar quebra futura.
*/
children: ReactNode;
/**
* Essa propriedade ativa o botão fechar no componente. Essa propriedade não deve ser utilizada junta com as propriedades textButton ou link. Essa propriedade adiciona uma função de callback, para que seja possível saber quando o usuário clicar no botão de fechar do componente. O botão em si, não executa uma ação. Ficará ao cargo do desenvolvedor implementar uma ação e anexá-la ao botão.
*/
onReset?: Function;
/**
* Nome do ícone que deve ser carregado. O ícone deve estar contido na biblioteca de ícones do Pulso.
*/
icon: string;
/**
* Define o estilo do componente, assim como a categoria de sua mensagem.
*/
type: "success" | "informative" | "error" | "error-alternative" | "warning";
/**
* Propriedade não produz mais efeito no componente e está em deprecação. Remova do seu código, para evitar quebras em futuras atualizações.
*/
inverse?: boolean;
/**
* Essa Prop inclui um atributo data-qa com o valor configurado no botão de fechar.
*/
dataQAClose?: string;
/**
* Essa Prop inclui um atributo data-collect com o valor configurado no botão de fechar.
*/
dataCollectClose?: string;
/**
* Essa Prop inclui um atributo data-collect-info com o valor configurado no botão de fechar.
*/
dataCollectInfoClose?: string;
/**
* Essa Prop inclui um atributo data-testid com o valor configurado no botão de fechar.
*/
dataTestIdClose?: string;
title?: string;
textButton?: undefined;
/**
* Propriedades para o link. Caso informado, será exibido um link
*/
link?: undefined;
} | {
children: ReactNode;
onReset?: undefined;
icon: string;
type: "success" | "informative" | "error" | "error-alternative" | "warning";
inverse?: boolean;
dataQAClose?: string;
dataCollectClose?: string;
dataCollectInfoClose?: string;
dataTestIdClose?: string;
title?: string;
textButton?: undefined;
link: Omit;
} | {
children: ReactNode;
onReset?: undefined;
icon: string;
type: "success" | "informative" | "error" | "error-alternative" | "warning";
inverse?: boolean;
dataQAClose?: string;
dataCollectClose?: string;
dataCollectInfoClose?: string;
dataTestIdClose?: string;
title?: string;
link?: undefined;
textButton?: Omit;
};
/**
* Componente Toast (também conhecido por Snackbar), que pode ser utilizado com um botão de fechar, com botão ou link, escolhidos através da propriedade utilizada (onReset, link ou textButton).
*
*
*
* Obs: Esse componente precisa estar dentro de um ThemeProvider, para o carregamento de seu estilo. Nos sites em React de Drogasil e Drogaraia o ThemeProvider já encontra-se configurado como um componente de alto nível, portanto não há a necessidade de incluí-lo novamente.
*
*
* Para utilizar esse componente, deve-se importar:
*
* ```
* import Toast from "@raiadrogasil/pulso-react-components/Toast";
* ```
*
* ou
*
*
*
* Obs: O método com chaves importa o código de todos os componentes, mesmo os que não estão listados entre as chave. Portanto, por questão de performance, é desaconselhado seu uso.
*
*
*
* ```
* import { Toast } from "@raiadrogasil/pulso-react-components/";
* ```
*/
declare function Toast({ children, onReset, icon, type, inverse, dataQAClose, dataCollectClose, dataCollectInfoClose, dataTestIdClose, textButton, link, title, }: ToastProps): JSX.Element;
export default Toast;