본문으로 건너뛰기
Amineslab UI

Component

Toast

작업 결과를 흐름을 막지 않고 알려주는 알림입니다.

Playground

옵션을 조절하며 화면과 사용 코드를 함께 확인하세요.

PC 1280px
Controls

간단한 알림에 표시할 메시지입니다.

알림의 닫기 버튼을 표시합니다.

Code
import { Toaster, toast } from '@amineslab/ui/toast/sonner'

import { Button } from '@amineslab/ui'

function ToastExample({ title = '변경사항을 저장했습니다.', close = true, }: {
    title?: string;
    close?: boolean;
} = {}) {
    return (<div className="flex flex-wrap gap-2">
      <Toaster />
      <Button onClick={() => toast.success(title, { close })}>간단한 알림</Button>
      <Button variant="outline" onClick={() => toast.info({
            title: '항목을 이동했습니다.',
            description: '언제든 원래 위치로 되돌릴 수 있습니다.',
            action: {
                label: '되돌리기',
                onClick: () => {
                    toast.success('되돌렸습니다.');
                },
            },
            close,
        })}>
        설명과 작업
      </Button>
    </div>);
}

export default function ExamplePreview() {
  return (<ToastExample title={"변경사항을 저장했습니다."} close={true}/>)
}

Props

@amineslab/ui/toast/sonner에서 Toaster, toast를 가져옵니다.

import { Toaster, toast } from '@amineslab/ui/toast/sonner'

Toast

NameTypeDefaultDescription
Toaster.positionSonner ToasterProps'top-center'@amineslab/ui/toast/sonner에서 가져옵니다. 앱 최상단에 한 번 배치합니다. offset/mobileOffset은 safe area를 고려하고 직접 덮어쓸 수 있습니다.
Toaster.theme'light' | 'dark' | 'system''system'Sonner 테마. next-themes 의존 없이 사용하며 앱 테마를 직접 전달할 수도 있습니다.
toast / success / error / info / warning / loading / message(input: ReactNode | ToastObject, options?: ToastOptions) => string | number-ToastObject는 title, description, action({label,onClick}), close를 받습니다. duration/id/position 등 Sonner 옵션을 두 번째 인자로 전달합니다. loading은 dismiss/갱신 전까지 유지합니다.
toast.dismiss / promise / custom / getHistory / getToastsSonner API-기존 Sonner API를 전달합니다. promise/custom의 본문은 Sonner 또는 호출자가 구성합니다.

Examples

자주 쓰는 조합을 살펴보고, 필요한 예시의 코드를 펼쳐 확인하세요.

사용 기준

권장하는 사용
  • 앱 최상단에 Toaster를 한 번 배치합니다.
  • 확인이 필요한 작업은 Confirm을 사용합니다.
피해야 할 사용
  • 겉모양만으로 사용을 결정하지 마세요.
  • 의미와 키보드 동작, 모바일에서의 흐름을 함께 확인하세요.

접근성

화면에 맞는 이름을 제공하고, 키보드만으로 작업을 마칠 수 있는지 확인하세요.

이 컴포넌트에는 별도의 키보드 조작이 필요하지 않습니다.