Get StartedFoundationsComponentsPatternsRulesDevelopAI & ToolsUpdates

Page Banner

페이지 상단에 위치하며 사용자에게 전체적인 상태나 중요한 메시지를 전달하는 상위 레벨 메시지 컴포넌트예요.

설치

pnpm dlx shadcn@latest add https://rebar.conmarket-landing.workers.dev/r/page-banner.json

Anatomy

Page Banner는 메시지 텍스트를 감싸고 있는 Container로 구성되며, 필요에 따라 Prefix Icon, Title, 버튼(Link Text), Chevron, Dismiss 버튼을 표시할 수 있어요.

Properties

Interaction

오른쪽에 표시되는 요소에 따라 다른 Interaction을 가질 수 있어요. 기본(PageBanner, suffix 로 PageBannerButton 추가 가능), 전체가 클릭 영역인 Actionable(ActionablePageBanner), 닫기 버튼이 있는 Dismissible(DismissiblePageBanner)이 있어요.

Variant

Neutral, Informative, Positive, Warning, Critical, Magic 여섯 가지 Tone으로 구성되며, 각 Tone은 Weak와 Solid 두 가지 스타일을 가져요. Tone=Magic은 Variant=Solid와 함께 쓰지 않아요.

Prefix Icon

prefixIcon 으로 Prefix Icon을 표시할 수 있어요. 아이콘은 Fill 타입 사용을 권장해요.

Title

title 로 Title을 표시할 수 있어요.

Button

suffix 에 PageBannerButton 을 전달해 오른쪽에 텍스트 버튼을 둘 수 있어요. 버튼은 높이 40px의 터치 영역을 가지면서도 배너 높이를 키우지 않아요. asChild 로 링크에 스타일을 입힐 수 있어요.

State

Actionable Page Banner에는 Pressed 상태가 있어요. 누르면 배경이 진해지고, 배경은 그대로 둔 채 내용만 살짝 줄어들어요.

Guidelines

Page Banner의 위치

Page Banner는 항상 페이지 최상단에 배치하며(상단 이미지가 있으면 이미지 아래), 한 화면에 하나만 존재할 수 있어요. 스크롤할 때도 상단에 고정해 표시할 수 있어요. 이때는 개발자에게 인터랙션 가이드를 명확히 전달해요.

한 화면에 여러 개의 Page Banner가 표시되지 않도록 주의해요.

Title, Description 사이 간격

Page Banner의 Title은 Inline 요소로, 텍스트처럼 줄을 차지하지 않고 이어서 배치돼요. Title과 Description 사이의 여백은 두 번의 띄어쓰기로 표시해요.

제목과 내용 작성하기

제목은 검토 중, 미노출, 제재됨처럼 상태를 나타내는 짧은 단어로 표시하고, 꼭 필요한 경우에만 사용해요. 본문은 핵심 내용만 간결하게 작성하며, 제목에서 언급한 내용을 반복하지 않아요.

미노출운영 정책 위반으로 판매 글이 숨겨졌어요.
Do· 상태를 나타내는 단어

제목은 상태를 나타내는 짧은 단어로 써요.

판매 글이 숨겨졌어요운영 정책 위반으로 판매 글이 숨겨졌어요.
Don't· 문장형 제목

제목이 문장이면 본문과 내용이 반복돼요.

Page Banner로 상태 표시하기

페이지의 중요한 상태 변화나 사용자 액션에 대한 피드백을 전달해요. 상황에 맞는 Tone을 선택해 사용해요.

Tone사용 예시
Neutral상태가 특별히 없거나, 상태값이 명확하지 않은 초기 상태
Informative베타 기능 안내, 사용자 권한 제한, 정보 기반 메시지
Positive승인됨, 발행됨, 저장 성공, 검토 통과
Warning만료 임박, 제출 누락, 필수 정보 부족 등 잠재적 문제 상태
Critical검수 거절, 제재 상태, 편집 불가, 유효성 검증 실패

주요 기능 또는 서비스의 진입점 표시하기

Actionable Page Banner는 안심결제, 택배 예약처럼 주요 기능이나 서비스의 진입점으로 활용할 수 있어요.

Dismissible 인터랙션 사용하기

Dismissible 인터랙션은 한 번만 전달해도 충분한 정보에만 사용하고, 경고·오류 메시지에는 사용하지 않아요. 닫은 뒤에 같은 메시지가 반복해서 표시되지 않도록 주의해요.

이제 판매 글을 예약해서 올릴 수 있어요.
Do· 새 기능 소개

한 번 보면 충분한 안내에 써요.

만료 임박3일 뒤 판매 글이 내려가요.
Don't· 경고 메시지

경고·오류는 닫을 수 없게 해요.

Page Banner, Callout 비교

Page Banner와 Callout은 모두 메시지를 전달하지만, 용도·시각적 무게·위치·메시지 범위가 달라서 명확히 구분해 사용해요.

CalloutPage Banner
위치콘텐츠 흐름 안 (본문 중간)페이지 상단
너비콘텐츠 너비 (제한적)전체 너비 (gutter 없이 가로 확장)
용도팁, 기능 설명, 위험 요소 주의페이지 상태, 제재, 기능 활성화 안내 등
메시지 범위로컬 (해당 기능·내용에 국한)글로벌 (페이지 전체)
Sticky 속성없음 (스크롤과 함께 이동)있음 (상단 고정 가능)

Props

PageBanner

Prop

Type

PageBannerButton

Prop

Type

ActionablePageBanner

PageBanner 의 속성에서 suffix 를 뺀 것과 같고, <button> 의 속성을 모두 받아요 (onClick 등).

DismissiblePageBanner

Prop

Type

On this page