React

Chip Tabs

Chip 형태로 표현된 탭 컴포넌트입니다. 카테고리나 필터를 선택하여 콘텐츠를 전환할 때 사용됩니다.

사용 가능 버전@seed-design/[email protected], @seed-design/[email protected]

Installation

npx @seed-design/cli@latest add ui:chip-tabs

Props

ChipTabsRoot

Prop

Type

orientation?"horizontal" | "vertical" | undefined
value?string | undefined
defaultValue?string | undefined
onValueChange?((value: string) => void) | undefined

ChipTabsList

Prop

Type

ChipTabsTrigger

Prop

Type

notification?boolean | undefined
valuestring
disabled?boolean | undefined

ChipTabsCarousel

Prop

Type

swipeable?boolean | undefined
autoHeight?boolean | undefined
loop?boolean | undefined
dragThreshold?number | undefined
onSettle?(() => void) | undefined

ChipTabsContent

Prop

Type

valuestring

Usage

Content

탭 선택으로만 콘텐츠를 전환할 때는 ChipTabsContent를 ChipTabsRoot 안에 배치합니다. Trigger와 Content의 value를 맞추면 선택된 패널만 표시됩니다. 이 구성은 전환 애니메이션과 좌우 스와이프를 제공하지 않습니다.

import {
  ChipTabsContent,
  ChipTabsList,
  ChipTabsRoot,
  ChipTabsTrigger,
} from "seed-design/ui/chip-tabs";

export function App() {
  return (
    <ChipTabsRoot defaultValue="1">
      <ChipTabsList>
        <ChipTabsTrigger value="1">라벨1</ChipTabsTrigger>
        <ChipTabsTrigger value="2">라벨2</ChipTabsTrigger>
        <ChipTabsTrigger value="3">라벨3</ChipTabsTrigger>
      </ChipTabsList>
      <ChipTabsContent value="1">첫 번째 콘텐츠</ChipTabsContent>
      <ChipTabsContent value="2">두 번째 콘텐츠</ChipTabsContent>
      <ChipTabsContent value="3">세 번째 콘텐츠</ChipTabsContent>
    </ChipTabsRoot>
  );
}

ChipTabsRoot는 value와 onValueChange로 제어하거나 defaultValue로 초기 선택 값을 지정합니다. ChipTabsTrigger의 notification은 label 옆에 작은 NotificationBadge를 표시합니다.

Swipeable

ChipTabsContent를 ChipTabsCarousel 안에 배치하면 탭을 바꿀 때 콘텐츠가 가로로 전환되고, swipeable을 설정하면 콘텐츠를 좌우로 밀어 탭을 바꿀 수 있습니다. Registry의 ChipTabsCarousel은 내부에서 Camera를 조립하므로 ChipTabsCarouselCamera를 따로 추가할 필요가 없습니다.

아래 예제에서 Trigger를 누르거나 콘텐츠를 좌우로 밀면 선택된 chip과 콘텐츠가 함께 바뀝니다. 스와이프 시작·종료·정착은 ChipTabsCarousel의 onSwipeStart, onSwipeEnd, onSettle로 처리할 수 있습니다.

Examples

Size=Medium

Size=Large

Variant=Neutral Solid

Variant=Neutral Outline

Notification

With Scroll Fog

탭이 많아 가로 스크롤이 필요한 경우 Scroll Fog를 적용하여 좌우 스크롤 힌트를 제공할 수 있습니다.

권장 padding인 20px을 유지해야 합니다.

Last updated on

목차