Get StartedFoundationsComponentsPatternsRulesDevelopAI & ToolsUpdates

Tabs

한 화면 안에서 콘텐츠를 탭 단위로 나눠 전환할 수 있는 컴포넌트예요.

설치

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

Anatomy

Tabs는 Label이 있는 Tab Item의 모음으로 구성돼요. 선택된 Tab Item 아래에는 Indicator가 표시되고, 선택이 바뀌면 Indicator가 부드럽게 이동해요. Tab Item에는 필요에 따라 Notification Badge를 표시할 수 있어요.

요소컴포넌트설명
RootTabsRoot선택 상태와 레이아웃, 사이즈를 관리해요.
TablistTabsListTab Item을 담는 영역이에요. 하단 구분선과 Indicator를 그려요.
Tab ItemTabsTrigger하나의 탭이에요. 키보드 방향키로 이동할 수 있어요.
ContentTabsContent선택된 탭의 콘텐츠예요.

Tabs는 Line 타입과 Chip 타입 두 가지로 구성돼요. 이 문서는 Line 타입을 다루고, Chip 타입은 Chip Tabs에서 다뤄요.

Type스타일/레이아웃
LineFill 레이아웃(Tab Item을 꽉 차게 표시), Hug 레이아웃(라벨 길이에 맞게 표시)
ChipSolid 스타일, Outline 스타일

Properties

Layout

Tab Item을 꽉 차게 표시하는 Fill 레이아웃과 라벨 길이에 맞게 표시하는 Hug 레이아웃을 triggerLayout 으로 고를 수 있어요. 기본값은 fill 이에요. Hug 레이아웃에서 탭이 넘치면 가로로 스크롤돼요.

Size

Medium, Small 두 가지 사이즈가 있어요. 기본값은 small 이에요.

State

Tab Item은 Enabled, Selected, Disabled 상태를 가져요. 누르면 Tab Item이 살짝 작아져요.

Notification

Tab Item에 새 콘텐츠가 있음을 알리는 Notification Badge를 notification 으로 표시할 수 있어요.

Sticky List

stickyList 를 켜면 스크롤해도 Tablist가 위에 고정돼요. 탭이 화면 전체를 차지할 때 써요.

Guidelines

사이즈와 스타일 고르기

Line 타입은 Medium과 Small 두 가지 사이즈를, Chip 타입은 Large와 Medium 두 가지 사이즈를 제공해요. 화면 안 다른 요소와의 조합, 주목도에 따라 스타일과 사이즈를 골라요.

큰 사이즈는 화면 전체 콘텐츠를 전환하는 Navigation 역할에 알맞고, 작은 사이즈는 좁은 영역이나 스크롤 중간에서 서브 콘텐츠를 전환할 때 써요.

화면 안 다른 Chip 요소와 함께 쓴다면 동작이 헷갈리지 않도록 서로 다른 스타일을 적용해요. Line 스타일 Tabs와 Filter Chip은 함께 써도 좋지만, Chip 스타일을 겹쳐 쓰는 것은 권장하지 않아요.

Fill과 Hug 레이아웃 고르기

Fill 레이아웃은 Tab Item이 많지 않을 때 알맞고, 최대 5개의 탭을 표시할 수 있어요.

Tab Item이 6개 이상이거나 라벨이 길어지면 Hug 레이아웃을 권장해요.

홈후기정보
Do· 탭이 적으면 Fill

탭이 5개 이하라면 Fill 레이아웃으로 꽉 채워요.

전체디지털생활가전가구유아동의류
Don't· 탭이 많은데 Fill

탭이 많으면 라벨이 잘려요. Hug 레이아웃을 써요.

새로운 콘텐츠 알리기

Tab Item에는 새로운 콘텐츠가 있음을 알리는 Notification Badge를 표시할 수 있어요.

Notification Badge는 콘텐츠를 확인하면 사라지도록 하고, 여러 탭에 동시에 표시하는 것은 피해요.

2 Depth 구조로 사용하기

2차 카테고리처럼 탭 구조를 이중으로 표시할 때는 서로 다른 탭 스타일을 조합해요.

1차 분류에는 Line 타입, 2차 분류에는 Chip 타입의 Tabs를 조합하는 것을 권장해요.

Props

TabsRoot

Prop

Type

TabsTrigger

Prop

Type

TabsContent

Prop

Type

On this page