ComponentsP3 본문

Callout

추천·안내 톤의 틴트 박스 — info/success/warning/error 4종. Alert(일시적 상태 피드백)와 달리 페이지에 상주하는 권유·안내입니다. 틴트는 배경에만, 잉크는 진한 토큰으로 AA를 지킵니다.

마지막 업데이트 2026-06-26

한눈에#

페이지에 상주하는 권유·안내를 한 블록으로 묶는 틴트 박스입니다 — 떴다 사라지는 Alert·Toast와 달리, 팁·전제·다음 단계 안내처럼 맥락과 함께 계속 머무는 메시지에 씁니다.

패스키를 권장합니다

비밀번호는 예비 키로 남겨 두고, 일상 로그인은 패스키로 처리하면 더 안전하고 빠릅니다.

  • 톤 4종
  • title·icon·children
  • 상시 안내(≠Alert 일시)
  • 틴트 배경 + 진한 잉크 AA

틴트는 배경에만 — 잉크는 톤별 진한 토큰으로 라이트/다크 모두 대비를 지킵니다

사용 시점#

페이지에 머무는 안내면 Callout — 일시적으로 떴다 사라지거나 행동을 강제하면 다른 컴포넌트입니다.

권장 — 이렇게 쓰세요

지양 — 이러지 마세요

설정을 마쳤습니다

이제 새 기기에서도 패스키로 로그인할 수 있습니다.

쓴다팁·전제·권유처럼 맥락과 함께 상주하는 안내(에러·경고가 아님)

대신 Alert제출 실패·검증처럼 일시적인 상태 피드백 배너일 때

대신 Toast떴다 사라지는 비차단 알림일 때

변형#

권유

대부분의 안내는 info — 중립 권유·전제 설명에 씁니다.

확인

완료·정상 상태가 지속되는 안내에 씁니다.

주의

되돌릴 수 있으나 유의가 필요한 상황을 상주 안내합니다.

제약

차단형 Alert가 아닌, 지속되는 제약·전제 조건을 알릴 때만 씁니다.

톤 4종 — 색은 장식이 아니라 메시지의 성격(info 권유 · success 확인 · warning 주의 · error 제약)

title·icon은 선택입니다 — 본문만 줄 수도, 제목만 줄 수도 있습니다. icon은 장식으로 처리되어 보조기술에서 제외됩니다.

상태#

정적 컴포넌트라 인터랙션 상태가 없습니다(RSC). 표시 전용이며 상태/훅을 갖지 않습니다.

플레이그라운드#

Callout를 직접 조작해 보세요

속성·테마·토큰을 바꾸고 React·Flutter 코드를 확인하는 풀스크린 빌더로 엽니다.

빌더 열기

플레이그라운드는 넓은 작업 영역이 필요해 웹·태블릿에서 편집할 수 있어요.

Props#

Prop타입기본값설명
tone'info' | 'success' | 'warning' | 'error'info의미 톤 — info(기본)=권유, 그 외는 의미에 맞게
titleReactNode굵은 한 줄 제목
iconReactNode선행 아이콘(장식 — aria-hidden 처리됨)
refRef<HTMLDivElement>

접근성#

  • 톤은 색 + title/본문 텍스트 병행으로 전달합니다 — 색만으로 의미를 구분하지 않습니다(색맹 안전)
  • iconaria-hidden으로 장식 처리 — 의미는 항상 텍스트가 짊어집니다
  • 잉크는 톤별 진한 토큰(*-text/text)이라 틴트 배경 위에서 대비를 지킵니다(틴트는 배경에만)
  • 일반 div라 별도 role이 없습니다 — 동적으로 나타나는 알림이면 호출부에서 라이브 리전을 구성하세요(상주 안내는 그대로 충분)

토큰#

component 토큰 없이 semantic을 직접 소비합니다(신설 기준 §4 미충족).

속성토큰
infocolor.primary-subtle 틴트 + color.primary-text 잉크
success/warning/errorbase 색 틴트(color-mix) + color.*-text 잉크
본문 잉크color.text
형태radius.md · space.4 패딩 · space.3
타이포title font-size.body-2 + font-weight.medium · 본문 body-2

관련#