Featuring Design System
Legacy

CoreSelectItem

레거시 CoreSelect의 아이템 서브 컴포넌트. 항상 CoreSelect 내부에서 사용합니다.

개요

마이그레이션 안내 — 이 컴포넌트는 레거시입니다. 신규 프로젝트에서는 Select.Item을 사용하세요.

CoreSelectItemCoreSelect의 드롭다운 목록을 구성하는 아이템 컴포넌트입니다. 반드시 CoreSelect 내부에서 사용해야 하며, 단독으로는 동작하지 않습니다.

  • 단일·다중 선택 겸용CoreCheckbox를 children으로 넣으면 다중 선택, CoreRadio나 텍스트를 넣으면 단일 선택으로 동작
  • displayValue 분리 — Trigger에 표시할 값과 드롭다운 내 표시를 다르게 설정할 수 있음
  • 선택 상태 자동 주입CoreSelectselectedItems / setSelectedItems / setIsActive를 내부적으로 주입하므로 소비자는 직접 전달하지 않아도 됨

Usage

기본 사용법

<CoreSelect>
<CoreSelect.Item value="option-1">옵션 1</CoreSelect.Item>
<CoreSelect.Item value="option-2">옵션 2</CoreSelect.Item>
<CoreSelect.Item value="option-3">옵션 3</CoreSelect.Item>
</CoreSelect>

displayValue 설정

드롭다운의 내용과 Trigger에 표시되는 텍스트를 다르게 하려면 displayValue를 사용합니다.

<CoreSelect>
<CoreSelect.Item value="option-1" displayValue="표시될 값">
  실제 드롭다운 내용
</CoreSelect.Item>
<CoreSelect.Item value="option-2" displayValue="Option 2">
  다른 내용
</CoreSelect.Item>
</CoreSelect>

Checkbox와 함께 사용 (다중 선택)

childrenCoreCheckbox를 넣으면 체크박스 기반 다중 선택이 됩니다.

<CoreSelect>
<CoreSelect.Item value="check-1">
  <CoreCheckbox label="옵션 1" />
</CoreSelect.Item>
<CoreSelect.Item value="check-2">
  <CoreCheckbox label="옵션 2" />
</CoreSelect.Item>
</CoreSelect>

Radio와 함께 사용 (단일 선택)

<CoreSelect>
<CoreSelect.Item value="radio-1">
  <CoreRadio label="옵션 1" name="radio" />
</CoreSelect.Item>
<CoreSelect.Item value="radio-2">
  <CoreRadio label="옵션 2" name="radio" />
</CoreSelect.Item>
</CoreSelect>

아이콘과 함께 사용

<CoreSelect>
<CoreSelect.Item value="icon-1">
  <IconCalendarOutline />
  Option 1
</CoreSelect.Item>
<CoreSelect.Item value="icon-2">
  <IconCalendarOutline />
  Option 2
</CoreSelect.Item>
</CoreSelect>

비활성화

<CoreSelect>
<CoreSelect.Item value="option-1">옵션 1</CoreSelect.Item>
<CoreSelect.Item value="option-2" disabled>옵션 2 (비활성화)</CoreSelect.Item>
<CoreSelect.Item value="option-3">옵션 3</CoreSelect.Item>
</CoreSelect>

기본 선택

<CoreSelect>
<CoreSelect.Item value="option-1" defaultChecked>옵션 1 (기본 선택)</CoreSelect.Item>
<CoreSelect.Item value="option-2">옵션 2</CoreSelect.Item>
</CoreSelect>

Props

ComponentPropsWithoutRef<'div'>를 확장한 컴포넌트입니다.

Prop

Type

CoreSelectedItem

Prop

Type

스타일

CoreSelect의 드롭다운 아이템 스타일을 따릅니다.

  • display: flex, gap: spacing-150 (6px), border-radius: radius-100, min-height: 28px

Size Variants

sizetypographypadding-y
smbody[1]spacing-50 (2px)
mdbody[2]spacing-100 (4px)
lgbody[2]spacing-200 (8px)

상태

  • Hover (활성): background-color: primary[10], color: primary[100], cursor: pointer
  • Hover (비활성): cursor: not-allowed