Get StartedFoundationsComponentsPatternsRulesDevelopAI & ToolsUpdates

Checkbox

사용자가 하나 이상의 옵션을 선택할 수 있게 해주는 컴포넌트예요. 목록에서 여러 항목을 선택하거나 약관 동의와 같은 선택적 작업에 사용해요.

설치

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

Anatomy

Checkbox는 Checkmark와 Label로 구성돼요. Checkmark는 개별 컴포넌트(Checkmark)로 제공되어서 자유롭게 조합해서 사용할 수 있어요. 여러 Checkbox는 CheckboxGroup 으로 묶어요.

요소컴포넌트설명
RootCheckbox (label)Label을 포함한 전체 영역이 누르는 영역이에요.
CheckmarkCheckmark선택 상태를 보여주는 표시예요. 눌리면 살짝 줄어들어요.
Labellabel propCheckmark 옆에 보여주는 텍스트예요.
GroupCheckboxGroup여러 Checkbox를 세로로 묶어요.

Properties

Size, Weight

Checkbox는 Medium, Large 사이즈로 제공돼요. 강조해야 하거나 그룹으로 사용해야 하는 경우에 따라서 Weight(Regular, Bold)를 조정해서 활용할 수 있어요.

Tone

Checkbox는 Brand, Neutral 두 가지 Tone을 가져요. 디자인 가이드에서는 Neutral을 기본으로 사용하는 것을 권장해요.

Shape

Checkbox는 Square, Ghost 두 가지 Shape(variant)으로 제공돼요. Checkmark도 동일하게 제공되니 참고해요.

State

Checkbox는 선택(Selected), 미선택(Unselected), 불확실(Indeterminate) 상태를 가지며, 각각의 상태는 사용자의 상호작용에 따라 활성화(Enabled), 비활성화(Disabled), 눌림(Pressed) 상태로 조합되어 표현돼요. 불확실 상태는 checked="indeterminate" 로 지정해요.

Long Label

라벨이 길어지면 여러 줄로 줄바꿈되고, Checkmark는 첫 줄에 맞춰 정렬돼요.

Checkmark

Checkmark 는 라벨 없이 쓰는 체크 표시예요. List처럼 다른 요소와 조합해서 커스텀 레이아웃을 만들 때 사용해요.

Guidelines

Checkbox touch target

Checkbox는 Label을 포함한 영역이 Target으로 동작해요. List처럼 Checkmark를 조합해서 사용하는 경우 전체 Row가 Target 영역이 되어야 해요.

Checkbox group 사용하기

Checkbox는 여러 항목을 그룹으로 묶어서 제공할 수 있어요. 그룹으로 묶이는 경우 필요에 따라서 부모 Checkbox를 최상단에 배치해요.

부모 Checkbox를 선택하면 모든 자식 Checkbox가 선택돼요. 자식 Checkbox 일부만 선택하면 부모 Checkbox는 Indeterminate 상태로 표시돼요.

Shape 결정하기

필수 선택 항목이 아니고, 3개 이하 항목으로 구성되는 경우 Ghost를 사용하는 것을 권장해요. 필수 선택 항목이고 사용자가 해당 내용을 인지해야 하는 경우 명시적인 Square를 사용해요.

Do· 필수 항목은 Square

사용자가 꼭 인지해야 하는 필수 항목에는 Square를 사용해요.

Do· 선택 항목은 Ghost

필수가 아니고 3개 이하인 항목에는 Ghost를 사용해요.

Checkbox vs. Switch

Checkbox와 Switch는 사용자의 선택 여부를 표시하는 컴포넌트예요.

속성CheckboxSwitch
선택값 적용저장하기 등의 액션을 수행해야 값이 저장돼요 (권장)별다른 액션이 없어도 즉시 적용돼요 (권장)
항목 구성 방식하나의 카테고리에 여러 항목으로 나열할 수 있어요개별 항목으로 구성하는 것을 권장해요
하위 항목 구성부모가 모든 하위 항목을 선택/해제할 수 있어요부모와 하위 항목 간 관계가 없어요
Do· 확인 후 제출할 때는 Checkbox

버튼을 눌러야 결과가 반영되는 경우 Checkbox를 사용해요.

Don't· 즉시 반영되지 않는 Switch

즉각적인 결과가 없는 상황에서는 Switch를 사용하지 않아요.

Props

Checkbox

Prop

Type

CheckboxGroup

Prop

Type

Checkmark

Prop

Type

On this page