Lewati ke konten

Toast - React

Toast

banner-background
import { Toast } from '@idds/react';

Global Provider Setup

Untuk menggunakan Toast secara global, bungkus aplikasi Anda dengan ToastProvider di level root (misalnya di main.tsx atau App.vue). Ini memungkinkan Toast dipanggil dari komponen anak mana pun tanpa perlu render komponen Toast manual.

import { ToastProvider, setBrandTheme } from '@idds/react';
import { createRoot } from 'react-dom/client';
import App from './App';
import '@idds/react/index.css';

// Set brand theme
setBrandTheme('panrb');

createRoot(document.getElementById('root')!).render(
  <ToastProvider>
    <App />
  </ToastProvider>
);

Penggunaan (useToast Hook)

Gunakan hook useToast (React) atau composable useToast (Vue) di dalam komponen child untuk memicu notifikasi.

import { useToast, Button } from '@idds/react';

export default function MyComponent() {
  const { toast } = useToast();

  const handleShowToast = () => {
    toast({
      state: 'positive',
      title: 'Berhasil',
      description: 'Data berhasil disimpan',
      duration: 3000,
    });
  };

  return <Button onClick={handleShowToast}>Show Toast</Button>;
}

Live Preview:

NameTypeDefaultRequiredDescription
showbooleanYesApakah toast ditampilkan.
onClose() => voidYesCallback saat toast ditutup.
titleReactNodeYesJudul toast.
description?ReactNode''NoDeskripsi atau pesan toast (opsional).
actionNode?ReactNodeNoNode untuk action button (opsional).
state?'default' | 'destructive' | 'positive''default'NoState toast.
style?'outline' | 'solid''solid'NoStyle toast.
duration?number5000NoDurasi toast dalam milidetik sebelum auto-close.
position?'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top-middle' | 'bottom-middle' | 'left-middle' | 'right-middle''top-right'NoPosisi toast di layar.
className?string''NoClassName tambahan.