Alert

Alert

중요한 정보나 피드백을 사용자에게 전달하는 Next.js Client Component입니다.

기본

공통 color_* 클래스로 info · success · warning · error 네 가지 의미를 표현합니다.

설명만

제목 없이 alert_desc만으로 짧은 메시지를 표시합니다.

프로필이 업데이트되었습니다.

아이콘 없음

alert_icon을 생략해 텍스트만 표시합니다. 간단한 안내에 적합합니다.

크기

alert_sm · alert_lg로 스케일을 조절합니다.

닫기 가능

alert_close 버튼으로 사용자가 알림을 닫을 수 있습니다. aria-label로 닫기 동작을 설명합니다.

액션

alert_actions로 확인·취소 등 후속 동작 버튼을 배치합니다.

alert_banner로 페이지 상단 전체 너비 알림을 표시합니다. 좌우 테두리와 모서리 반경을 제거합니다.

문맥 속 사용

폼·카드 등 다른 컴포넌트와 함께 사용합니다. 설명 안에 링크를 포함할 수 있습니다.

API · Props

Prop타입기본값설명
color'info' | 'success' | 'warning' | 'danger'info의미 색상. danger는 color_error
titlestring알림 제목 (alert_title)
descriptionstring본문. children으로 대체
closablebooleanfalse닫기 버튼 (alert_close)
showIconbooleantrue기본 아이콘 표시
size'sm' | 'md' | 'lg'mdalert_sm · alert_lg
rolestringalert루트 role (alert · status 등)
iconReactNode커스텀 아이콘
actionsReactNode본문 아래 alert_actions 영역에 렌더링
classNamestringalert 루트에 추가 클래스
ripplebooleantrue클릭 파장(ripple). 닫기·트리거 버튼에 적용 · true 활성 · false 비활성

API · Children

Children설명
children본문 (description prop 대체, Vue default 슬롯 대응)
icon커스텀 아이콘 (alert_icon)
actions본문 아래 액션 버튼·링크 (alert_actions 래퍼 자동 생성)

API · Events

이벤트설명
onClose닫기 버튼 클릭 시

클래스 · 속성

React 컴포넌트가 렌더하는 OOCSS 클래스입니다. HTML 마크업으로 직접 작성할 때 동일하게 조합합니다.

클래스설명
alert알림 루트
alert_sm · alert_lg크기
alert_icon · alert_body · alert_title · alert_desc구조 파트
alert_close닫기 버튼
color_info · color_success · color_warning · color_error의미 색상
data-ripple클릭 파장 활성. data-ripple="surface"는 절대 위치 보조 버튼용
data-ripple="false"해당 요소 ripple 비활성
data-no-ripple하위 전체 ripple 비활성

디자인 토큰

토큰기본값설명
--alert-padding-y · --alert-padding-x · --alert-gapvar(--space-md) · var(--space-lg) · var(--space-md)기본(md) 패딩·간격
--alert-font-size · --alert-line-heightvar(--text-size-base) · 1.5본문 타이포
--alert-title-weight · --alert-title-gap600 · var(--space-xs)제목 두께·간격
--alert-desc-opacity0.85설명 텍스트 불투명도
--alert-icon-size · --alert-icon-offset1.25rem · 0.1rem아이콘 크기·정렬
--alert-close-size1.25rem닫기 버튼 크기
--alert-actions-gap · --alert-actions-margin-topvar(--space-sm) · var(--space-sm)액션 영역
--alert-padding-y-sm · --alert-padding-x-sm · --alert-font-size-smvar(--space-sm) · var(--space-md) · var(--text-size-sm)sm 크기
--alert-icon-size-sm · --alert-close-size-sm1rem · 1remsm 아이콘·닫기
--alert-padding-y-lg · --alert-padding-x-lgvar(--space-lg) · var(--space-xl)lg 패딩
--alert-icon-size-lg · --alert-close-size-lg1.5rem · 1.5remlg 아이콘·닫기