Toast · Docs

스토리북 개발자들을 위한 내부 문서

Components

Toast

Docs

API 사용가이드입니다. 변형·위치·자동 스태킹 프리뷰는 Overview를 참고하세요.

API

앱을 ToastProvider로 감싼 뒤 useToast의 toast 함수로 알림을 전달합니다. 스태킹은 자동이며 사용자가 배열이나 z-index를 관리할 필요가 없습니다.

import { ToastProvider, useToast } from "@/components/toast";

function App() {
  return (
    <ToastProvider position="bottom-right" duration={3000}>
      <Page />
    </ToastProvider>
  );
}

function Page() {
  const { toast } = useToast();

  return (
    <button
      onClick={() =>
        toast({
          variant: "success",
          description: "저장이 완료되었습니다.",
        })
      }
    >
      저장
    </button>
  );
}

Props

NameTypeDefaultDescription
variantRequired
"fail" | "warning" | "success" | "info"아이콘과 상태 색상을 결정합니다.
descriptionRequired
React.ReactNode알림 설명.
ToastProvider.position
"bottom-right" | "bottom-center" | "top-right""bottom-right"토스트 스택의 화면 위치를 결정합니다.
duration
number3000표시 시간(ms). ToastInput에 전달하면 Provider 기본값을 덮어씁니다.

Notes

  • 소비 앱 필수: React 19, Tailwind CSS v4, ClaBi tokens.css(+ @theme 매핑), clsx, @radix-ui/react-toast.
  • clsx 패키지가 필수입니다. className 병합에 import { clsx } from "clsx" 를 사용합니다.
  • 내부적으로 @radix-ui/react-toast를 사용합니다. 소비 앱에도 해당 패키지가 필요합니다.
  • 스태킹 순서·최대 6개 제한·밝기 차이는 ToastProvider가 자동 관리합니다.
  • 별도 제목과 닫기 버튼 없이 상태 아이콘과 한 줄 메시지로 구성합니다.
  • 표시 타이머는 창 포커스와 무관하게 계속 진행되며, 백그라운드에서 만료된 Toast는 복귀 즉시 정리됩니다.
  • 상태 아이콘은 Alert와 동일한 에셋을 사용합니다.
  • 확인 조치가 반드시 필요한 오류는 자동으로 사라지는 Toast 대신 Alert를 사용하세요.