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;