Toast

Temporary notifications.

Also known as:
  • Snackbar

Overview

Purpose

The Toast component temporary notifications.within our design system. It follows our composer layer principles, ensuring consistency and reusability across applications.

When to Use

  • Use when you need providing system feedback
  • Appropriate for feedback contexts
  • Follows composer component patterns

When Not to Use

  • Avoid when simpler alternatives exist
  • Don't use for permanent content
  • Consider alternatives for edge cases

Live Example

import React from 'react';
import Toast from './components/Toast';
import Button from './components/Button';
import props from '/props.json';

export default function App() {
  return (
    <div style={{ padding: '2rem', display: 'flex', alignItems: 'center', justifyContent: 'center', minHeight: '100vh' }}>
      <Button onClick={() => Toast.show({ 
        title: props.title || 'Toast Notification', 
        description: props.description || 'This is a toast message.', 
        variant: props.variant || 'info' 
      })}>
        Show Toast
      </Button>
      <Toast.Container />
    </div>
  );
}

Anatomy

Understanding the structure of the Toast component helps ensure proper implementation and customization.

Anatomy data not yet defined for this component. Define anatomy in the component contract file (Toast.contract.json).

Variants & States

import React from 'react';
import Toast from './components/Toast';
import Button from './components/Button';
import props from '/props.json';

export default function App() {
  return (
    <div style={{ padding: '2rem', display: 'flex', alignItems: 'center', justifyContent: 'center', minHeight: '100vh' }}>
      <Button onClick={() => Toast.show({ 
        title: props.title || 'Toast Notification', 
        description: props.description || 'This is a toast message.', 
        variant: props.variant || 'info' 
      })}>
        Show Toast
      </Button>
      <Toast.Container />
    </div>
  );
}

API Reference

Props

No props extracted. Props may be inherited or use complex types.

Methods

NameParametersReturnsDescription
Appvoid
YourComponentvoid

Accessibility

Standards Compliance

This component follows WCAG 2.1 AA guidelines and includes proper ARIA attributes, keyboard navigation, and screen reader support.

Common Pitfalls

  • Not dismissible via keyboard
  • poor timeout semantics.

Accessibility Checklist

  • Keyboard navigation support
  • Screen reader compatibility
  • Color contrast compliance
  • Focus management
  • ARIA attributes
  • Reduced motion support

Usage Guidelines

✓ Do

  • Use consistent spacing and sizing
  • Follow established patterns
  • Provide clear labels and descriptions
  • Test with assistive technologies

✗ Don't

  • Override core functionality
  • Use without proper context
  • Ignore accessibility requirements
  • Modify without design system approval

Examples

Basic Usage

Simple implementation with default props and common configurations.

import React from 'react';
import Toast from './components/Toast';
import Button from './components/Button';
import props from '/props.json';

export default function App() {
  return (
    <div style={{ padding: '2rem', display: 'flex', alignItems: 'center', justifyContent: 'center', minHeight: '100vh' }}>
      <Button onClick={() => Toast.show({ 
        title: props.title || 'Toast Notification', 
        description: props.description || 'This is a toast message.', 
        variant: props.variant || 'info' 
      })}>
        Show Toast
      </Button>
      <Toast.Container />
    </div>
  );
}

Advanced Usage

Complex patterns including composition, state management, and real-world scenarios.

import React from 'react';

export default function App() {
  return (
    <div style={{ 
      padding: '2rem', 
      display: 'flex',
      flexDirection: 'column',
      gap: '1.5rem'
    }}>
      <h3>Toast - Advanced Patterns</h3>
      <p>Advanced usage patterns for Toast include:</p>
      <ul>
        <li>Composition with other components</li>
        <li>Custom styling and theming</li>
        <li>Controlled vs uncontrolled patterns</li>
        <li>Form integration</li>
        <li>Accessibility enhancements</li>
      </ul>
      <p style={{ color: '#6b7280', fontStyle: 'italic' }}>
        Full advanced examples coming soon.
      </p>
    </div>
  );
}

Development Tools

Use these tools to analyze the component's performance, design tokens, and accessibility during development.

Contribute

Help us improve the Toast component documentation. Found an issue or have suggestions?

Related Components