Skip to main content

Toast

Notification messages with auto-close and status icons. Use ToastContainer to position toasts.

Preview
Loading preview…

Import

// Web Component
import '@kittl/ui';

// React
import { Toast, ToastContainer } from '@kittl/ui-react';
// Or use the ToastProvider for imperative API:
import { ToastProvider, useToast } from '@kittl/ui-react';

Usage

Web Component

<kittl-toast-container>
<kittl-toast id="my-toast" status="success" duration="3000">
Changes saved!
<kittl-button slot="action" variant="ghost" size="xs">Undo</kittl-button>
</kittl-toast>
</kittl-toast-container>

<script>
document.querySelector('#my-toast').show();
</script>

React

<ToastContainer>
<Toast status="success" duration={3000} onToastClose={() => console.log('closed')}>
Changes saved!
<Button slot="action" variant="ghost" size="xs">Undo</Button>
</Toast>
</ToastContainer>

React ToastProvider

import { ToastProvider, useToast } from '@kittl/ui-react';

function App() {
return (
<ToastProvider>
<MyComponent />
</ToastProvider>
);
}

function MyComponent() {
const { showToast } = useToast();

return (
<Button onClick={() => showToast('Saved!', 'success')}>Save</Button>
);
}

Toast Props

PropertyTypeDefaultDescription
openbooleanfalseWhether the toast is visible
status'success' | 'error' | 'warning'Status icon and color
durationnumber3000Auto-close duration in milliseconds

Toast Methods

MethodArgumentsDescription
show()duration?: numberShow the toast and start auto-close timer
hide()Hide the toast with closing animation

Slots

SlotDescription
(default)Toast message content
actionAction button or link

Events

EventDetailDescription
toast-openToast became visible
toast-closeToast was closed

React props: onToastOpen, onToastClose