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
| Name | Type | Default | Description |
|---|---|---|---|
variantRequired | "fail" | "warning" | "success" | "info" | — | 아이콘과 상태 색상을 결정합니다. |
descriptionRequired | React.ReactNode | — | 알림 설명. |
ToastProvider.position | "bottom-right" | "bottom-center" | "top-right" | "bottom-right" | 토스트 스택의 화면 위치를 결정합니다. |
duration | number | 3000 | 표시 시간(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를 사용하세요.