Toast

O componente Toast nos permite notificar usuários em um tom informacional, descrevendo que algo aconteceu ou está acontecendo, sem interromper a navegação.

import React from "react";
import { Toast } from "@nimbus-ds/components";

const Example: React.FC = () => (
  <Toast id="my-toast" text="Primary" type="primary" autoClose={false} />
);

export default Example;

O componente é composto por um ícone e texto, dentro de uma caixa com background e borda estilizados de acordo com os estados possíveis.

Utilizamos esse componente para mostrar notificações informativas, curtas e temporárias, relacionadas a ações que acabaram de acontecer ou estão acontecendo, quando não existe necessidade de interromper a navegação ou requerer interações em outras telas.

  • Primary - Usada em contextos neutros, não associado a uma ação positiva ou negativa;
  • Success - Usada em contextos positivos, associado ações executadas com sucesso;
  • Danger - Usada em contextos negativos, associado a erros de processamento ou preenchimento;
  • Progress - Usada em contextos neutros, associada a uma ação que ainda está em processamento e não tem status de sucesso ou erro definido.

O texto desse componente é limitado a no máximo 30 caracteres e sua mensagem deve ser breve e concisa, informando o usuário sobre algo que acabou de acontecer, logo após a ação ser executada ou enquanto é processada.

A mensagem deve ser escrita no infinitivo e com a seguinte estrutura: A ação que acabamos de fazer (exemplo: criação de um produto) O resultado da ação (exemplo: com sucesso / com erro)

O tempo de apresentação pode ser personalizado de acordo com o contexto em que o toast é aplicado, sempre devemos levar em conta a quantidade de caracteres seguindo as sugestões abaixo.

  • 4 segundos - Para mensagem com até 10 caracteres;
  • 8 segundos - Para mensagem com mais de 10 caracteres;
  • 16 segundos - Para mensagem com mais de 20 caracteres;
  • Personalizado - Uso restrito ao toast progress.
  • Informar sobre campos não preenchidos em um formulário
  • Informar sobre erros de preenchimento em formulários
  • Informar que existe um processamento ou upload ocorrendo
  • Informar que informações foram salvas
  • Informar que algum erro sistêmico ocorreu
  • Alert - Pode ser usado para notificar o usuário de forma atemporal sobre um evento importante que requer sua ação.
  • Modal - Pode ser usado para notificar o usuário de forma intrusiva, dando a possibilidade de tomar uma decisão com base em algo que acabou de acontecer.

Instale o componente via terminal.

npm install @nimbus-ds/toast

Configuração e uso básico para facilitar e acelerar o uso do componente toast fornecemos um componente de suporte chamado de ToastProvider.

Este componente deve ser colocado no topo mais alto da sua aplicação React para que o hook useToast esteja disponível em todos os níveis da aplicação de maneira simples e rápida.

// App.tsx
import React from "react";
import Home from "home";
import "@nimbus-ds/styles/dist/index.css";

const App: React.FC = () => {
  const { addToast } = useToast();
    return (
      <ToastProvider>
        <Home />
      </ToastProvider>;
    );
};

// Home.tsx
import React from "react";
import { ToastProvider } from "@nimbus-ds/toast";

const Home: React.FC = () => {
  const { addToast } = useToast();
    return (
      <button
        onClick={() => {
          addToast({
            type: "primary",
            text: "Toast",
            duration: 4000,
          });
        }}
      >
        Mostrar toast
      </button>
    );
};

Additional props are passed to the <Toast> element. See div docs for a list of props accepted by the <Toast> element.