Socket
Socket
Sign inDemoInstall

@chakra-ui/toast

Package Overview
Dependencies
97
Maintainers
2
Versions
687
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@chakra-ui/toast

description


Version published
Maintainers
2
Weekly downloads
419,045
decreased by-24.29%

Weekly downloads

Readme

Source

@chakra-ui/toast

The toast is used to show alerts on top of an overlay.

The toast will close itself when the close button is clicked, or after a timeout — the default is 5 seconds.

Toasts can be configured to appear at either the top or the bottom of an application window, and it is possible to have more than one toast onscreen at a time.

Import component

import useToast from "@chakra-ui/toast"

Usage

function ToastExample() {
  const toast = useToast()

  return (
    <Button
      onClick={() =>
        toast({
          title: "Account created.",
          description: "We've created your account for you.",
          status: "success",
          duration: 9000,
          isClosable: true,
        })
      }
    >
      Show Toast
    </Button>
  )
}

Positioning toast

By default, all the toasts will be positioned on the top-right of your browser.

The following values are allowed: top-right, top, top-left, bottom-right, bottom, bottom-left

import * as React from "react"
import useToast from "@chakra-ui/toast"

const Position = () => {
  const toast = useToast()

  const notify = () => {
    toast({ title: "Success Notification !", status: "success" })
  }

  return <button onClick={notify}>Notify</button>
}

Set autoClose delay or disable it

To change the show delay for any toast, simply pass the duration prop when invoking the toast function.

Note 🚨: If you pass null as the duration, the toast will always remain on screen.

import * as React from "react"
import useToast from "@chakra-ui/toast"

const Duration = () => {
  const toast = useToast()

  const notify = () => {
    toast({
      duration: 5000,
      title: "I will close after 5 secs",
    })
  }

  return <button onClick={notify}>Notify</button>
}

Render a custom toast component

Display a custom component instead of the default Toast UI.

We provide 2 key props to your component, id, and onClose to close the toast (to build your custom close button).

function Example() {
  const toast = useToast()

  return (
    <Button
      onClick={() => {
        toast({
          position: "bottom-left",
          render: (props) => (
            <Box m={3} color="white" p={3} bg="blue.500">
              Hello World
            </Box>
          ),
        })
      }}
    >
      Show Toast
    </Button>
  )
}

Use a custom id

A custom id can be used to replace the one internal auto-generated toast id. You can use a number or a string.

This is mostly useful when you need to prevent duplication of a specific toast.

Prevent duplicate

To prevent duplicates, you can check if a given toast is active by calling toast.isActive(id) like the snippet below. Or, you can use a custom toastId:

import * as React from "react"
import useToast from "@chakra-ui/toast"

const Example = () => {
  const toast = useToast()

  const id = "login-toast"

  const notify = () => {
    if (!toast.isActive(id)) {
      toast({ title: "Dude! I cannot be duplicated" })
    }
  }

  return (
    <div>
      <button onClick={notify}>Notify</button>
    </div>
  )
}

Update a toast

When you update a toast, the toast options and the content are inherited but don't worry you can update them.

import * as React from "react"
import useToast from "@chakra-ui/toast"

const Update = () => {
  const toast = useToast()

  const id = React.useRef(null)

  const notify = () => {
    id.current = toast({
      title: "Chidori is not available!",
      duration: null,
    })
  }

  const update = () => {
    toast.update(id.current, {
      title: "Sharingan is all you have!",
      status: "success",
      duration: 5000,
    })
  }

  return (
    <div>
      <button onClick={notify}>Notify</button>
      <button onClick={update}>Update</button>
    </div>
  )
}

Keywords

FAQs

Last updated on 09 Nov 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc