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;