Get StartedFoundationsComponentsPatternsRulesDevelopAI & ToolsUpdates

Toggle Button

사용자가 특정 상태를 켜거나 끌 수 있게 해주는 버튼 형태의 컴포넌트예요. 필터링이나 뷰 전환처럼 즉각적인 상태 변경에 사용해요.

설치

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

Anatomy

Toggle Button은 Label을 감싸고 있는 Container로 구성되며, Prefix Icon과 Suffix Icon을 가질 수 있어요. 겉모습은 Action Button과 비슷하지만, 누를 때마다 선택(Selected) 상태가 켜지고 꺼진다는 점이 달라요.

Properties

Variant

Brand Solid, Neutral Weak 두 가지 Variant로 구성돼요.

  • Brand Solid: 브랜드 컬러로 강조된 스타일이에요. 선택되면 Neutral Weak 배경으로 바뀌어 "이미 켜져 있음"을 차분하게 보여줘요. 팔로우, 관심 등록처럼 켜는 행동을 유도할 때 사용해요.
  • Neutral Weak: 기본적인 토글 스타일이에요. 주목도가 낮아 여러 개를 함께 두기 좋아요.

Size

XSmall, Small 두 가지 사이즈로 제공되며 모두 Pill 형태예요. 기본값은 Small이에요.

Prefix Icon

라벨 앞에 아이콘을 둘 수 있어요. 선택 상태에 따라 아이콘을 바꾸면(예: 더하기 → 체크) 상태 변화를 더 분명하게 전달할 수 있어요.

State

Enabled, Pressed, Selected, Loading, Disabled 상태를 가져요. Selected 상태에서도 Pressed와 Loading 상태를 각각 가져요.

Guidelines

즉각적인 상태 변경에 사용해요

Toggle Button은 누르는 즉시 결과가 반영되는 켜기/끄기 동작에 사용해요. 팔로우, 알림 받기, 관심 등록처럼 하나의 대상에 대한 상태를 바꾸는 경우에 적합해요. 저장·제출처럼 한 번 실행하고 끝나는 액션에는 Action Button을 사용해요.

라벨로 현재 상태를 알려줘요

선택 여부에 따라 라벨을 바꿔 현재 상태를 명확히 알려줘요. 예를 들어 "팔로우" → "팔로잉"처럼 상태를 나타내는 문구를 사용해요.

팔로우팔로잉
Do· 상태에 맞게 라벨 변경

선택 전후로 라벨을 바꿔 지금 상태를 바로 알 수 있게 해요.

팔로우팔로우
Don't· 같은 라벨 유지

배경색만 바뀌면 현재 켜져 있는지 꺼져 있는지 헷갈려요.

여러 항목 중 고르는 경우

여러 선택지 중 하나 또는 여러 개를 고르는 경우에는 Toggle Button 대신 Chip의 Toggle 또는 Radio를 사용해요.

Props

Prop

Type

On this page