Toast
Base
Personalização
Sem mensagem
Use quando for necessário apenas um título, com poucas palavras.
Mensagem personalizada
Use o componente Toast.Text para adicionar links ou botões.
Link
Botão
Ícone personalizado
A propriedade icon permite que você insira no Toast os ícones disponíveis. Caso você precise de um ícone novo, faça solicitação ao time do Tangram.
Tipos
Cada "tipo" de Toast já vem com um ícone padrão relacionado a cada tipo disponível. Para saber qual tipo de Toast usar em cada cenário acesse a nossa aba de uso do componente.
Primary
Danger
Warning
Success
Help
Delay
O Toast não é removido da tela automaticamente, mas é possível adicionar um tempo de delay para que ele saia da tela. Esse tempo deve ser adicionado em milisegundos.
Sem a opção de fechar
Não permite que o Toast seja removido da tela.
ToastProvider
O componente Toast possui um provider que é utilizado pela HOC withToast e pelo hook useToast. Esse provider pode ser instanciado apenas uma vez no mais alto nível da aplicação e nos testes.
Evite instanciar mais de um ToastProvider em sua aplicação.
Adicionar Múltiplos Toasts
useToast
Use o hook useToast para adicionar mais de um Toast ou limpar todos os adicionados.
Para mais detalhes sobre os parâmetros e retornos consulte a API do useToast.
Com withToast
Outra forma de adicionar mais de um Toast e removê-los de uma vez só é usando o componente de ordem superior (HOC, do inglês High Order Component) withToast. Essa função recebe um componente que repassa a função addToast e todos os atributos da função useToast.
import React from 'react';
import {
withToast,
ButtonGroup,
Button
} from '@resultadosdigitais/tangram-components';
const MyDesiredToast = ({ addToast, clean }) => {
const [count, setCount] = React.useState(0);
const handleAddToast = () => {
const newCount = count + 1;
addToast({
title: `Toast title ${newCount}`,
message: `Toast message ${newCount}`
});
setCount(newCount);
};
return (
<ButtonGroup>
<Button kind={Button.kinds.secondary} onClick={handleAddToast}>
Add Toast
</Button>
<Button kind={Button.kinds.tertiary} onClick={clean}>
Clear Toasts
</Button>
</ButtonGroup>
);
};
const ExampleHOC = withToast(MyDesiredToast);
export default ExampleHOC;