Skip to main content

Toast

A toast notification is a brief, non-intrusive message that appears on the screen to provide users with information or alerts.

Overview

GitHub Workflow Status GitHub Workflow Status

pie-toast is a Web Component built using Lit. It offers a simple and accessible toast component for web applications.

This component can be easily integrated into various frontend frameworks and customised through a set of properties.

Installation

To install pie-toast in your application, run the following on your command line:

npm i @justeattakeaway/pie-webc
yarn add @justeattakeaway/pie-webc

Props

PropOptionsDescriptionDefault
isOpentrue
false
When true, the toast is set to be open and visible.false
variant"neutral"
"info"
"warning"
"success"
"error"
Sets the variant of the toast."neutral"
isStrongtrue
false
When true, the toast is displayed with a strong visual style.false
isDismissibletrue
false
When true, allows dismissing the toast by clicking on the close button.false
messagestring
The message content of the toast.""
isMultilinetrue
false
Allows the message content to be displayed as multiline, limited to three rows.false
leadingAction{ text: string, ariaLabel?: string }
The leading action for the toast.undefined
durationnumber
null
Sets the duration of the toast in milliseconds before it auto-dismisses. If the value is null, auto-dismiss is disabled. If the value is not provided it auto-dismisses after 5 seconds.5000

Events

EventTypeDescription
pie-toast-closeCustomEventTriggered when the user interacts with the close icon or when the toast auto dismiss.
pie-toast-openCustomEventTriggered when the toast is opened.
pie-toast-leading-action-clickCustomEventTriggered when the user interacts with the leading action.

Examples

For HTML:

// import as module into a js file e.g. main.js
import '@justeattakeaway/pie-webc/components/toast.js'
<!-- pass js file into <script> tag -->
<pie-toast message="Message"></pie-toast>
<script type="module" src="/main.js"></script>

For Native JS Applications, Vue, Angular, Svelte etc.:

// Vue templates (using Nuxt 3)
import '@justeattakeaway/pie-webc/components/toast.js';

<pie-toast message="Message"></pie-toast>

By default, the toast will auto-dismiss in five seconds. To disable the auto-dismiss functionality, you must set the duration to null.

// Vue templates (using Nuxt 3)
import '@justeattakeaway/pie-webc/components/toast.js';

<pie-toast message="Message" duration={null}></pie-toast>

For React Applications:

import { PieToast } from '@justeattakeaway/pie-webc/react/toast.js';

<PieToast message="Message"></PieToast>
// React templates (using Next 13 and SSR)
import { PieToast } from '@justeattakeaway/pie-toast/dist/react';

<PieToast message="Message"></PieToast>

Changelog