Get StartedFoundationsComponentsPatternsRulesDevelopAI & ToolsUpdates

Bottom Navigation

앱의 루트 페이지 하단에 고정되어 다섯 개 이하의 상위 탭 사이를 이동하게 해주는 네비게이션 바예요.

설치

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

Anatomy

Bottom Navigation은 아이콘과 라벨로 구성된 탭 아이템, 그리고 이를 감싸는 Container로 이루어져요. 각 탭 아이템에는 Notification Badge를 표시할 수 있어요.

Container 상단에는 1px Divider가 있어요. iOS에서는 1px로 구현돼요(@2x에서 0.5pt, @3x에서 0.33pt).

Properties

State

탭 아이템은 Selected/Unselected 상태에서 각각 Enabled, Disabled 상태를 가져요. 선택된 탭은 aria-current="page" 로 표시돼요.

Badge

탭 아이템에는 Notification Badge를 Small, Large 두 가지 사이즈로 표시할 수 있어요. badge="dot" 은 Small, 숫자는 Large 배지예요.

Size설명
Large구체적인 알림 수나 상태 정보를 제공해요. 채팅처럼 알림의 세부 정보가 중요한 경우 사용해요.
Small간결한 도트 형태로, 텍스트 없이 상태 변화만 표시해요. 알림의 존재 여부만 중요한 경우 사용해요.

Controlled

value 와 onValueChange 로 선택된 탭을 직접 제어할 수 있어요. 라우터 링크와 함께 쓰려면 asChild 로 링크를 감싸고 selected 를 지정해요.

Guidelines

Bottom Navigation 넓이

내부 컨테이너는 최대 너비를 480px로 제한해, 화면이 넓어져도 탭 아이템이 과도하게 퍼지지 않도록 해요.

Label은 간결하게 작성하기

탭 라벨은 짧고 간결하게 작성해요(한글 5자, 영문 10자 이내). 콘텐츠 영역을 충분히 확보하기 위해 Bottom Navigation에는 폰트 스케일링이 적용되지 않아요.

항목 개수

탭 아이템은 5개를 넘지 않도록 해요. 더 많은 구분이 필요하다면 화면 상단에 Tabs를 사용하는 것을 고려해요.

홈카테고리채팅관심MY
Do· 5개 이하

상위 탭은 다섯 개 이하로 구성해요.

홈카테고리채팅관심쿠폰MY
Don't· 6개 이상

5개 이상의 항목을 배치하지 마세요.

탭에 Badge 표시하기

Small 사이즈는 새로운 활동을 점으로 표시하고, Large 사이즈는 알림 숫자를 표시해요. Large 사이즈는 1부터 99까지 표시되며, 100 이상이면 99+로 표시돼요. 0일 때는 표시되지 않아요.

3개 이상의 탭에 Badge가 표시되지 않도록 주의해요.

아이콘 스타일

모든 탭 아이콘은 같은 스타일을 사용하고, 활성화 여부는 컬러 톤으로 구분해요. Fill 스타일과 Line 스타일을 혼용하지 마세요.

Props

BottomNavigation

Prop

Type

BottomNavigationItem

Prop

Type

On this page