Tag
항목의 속성, 분류, 선택 조건을 시각적으로 표현하기 위한 컴포넌트
개요
Tag 컴포넌트는 검색 조건, 필터, 카테고리 등을 시각적으로 표현합니다. 텍스트 기반의 간결한 UI로, 색상 타입과 선택 상태를 지원하며 삭제 버튼을 선택적으로 제공합니다.
주요 특징
- ✅ 텍스트 표시: 단일 텍스트(Label) 표시
- ✅ 색상 타입: Default, Selected, Filter, Outline
- ✅ 선택 상태: 선택/비선택 시각적 구분
- ✅ 삭제 버튼: X 버튼으로 제거 지원
- ✅ 텍스트 기반: 아이콘 없이 텍스트만 사용
기본 상태 / 텍스트 표시
Preview
Tag 내부에 단일 텍스트(Label)를 표시합니다.
색상 타입 적용
Tag 유형에 따라 사전에 정의된 색상 타입을 적용할 수 있습니다.
Preview
default, selected, filter, outline 4가지 variant를 제공합니다.
선택 상태 표시
선택된 Tag는 비선택 상태와 시각적으로 구분되어 표시됩니다.
Preview
selected prop으로 선택 상태를 표현합니다.
삭제 버튼 표시
Tag 우측에 삭제(X) 버튼을 표시할 수 있습니다.
Preview
removable prop으로 X 버튼을 표시하고, onRemove로 삭제 이벤트를 처리합니다.
아이콘 제한
Tag는 기본적으로 텍스트 기반이며, 아이콘은 사용하지 않습니다.
Preview
텍스트만으로 항목을 표현합니다.
API Reference
Props
| Prop | Type | Default | Description |
|---|---|---|---|
children | ReactNode | - | Tag 텍스트 내용 |
variant | "default" | "selected" | "filter" | "outline" | "default" | 색상 타입 |
selected | boolean | false | 선택 상태 |
removable | boolean | false | 삭제 버튼 표시 여부 |
className | string | - | 추가 CSS 클래스 |
Events
| Event | Type | Description |
|---|---|---|
onRemove | () => void | 삭제 버튼 클릭 시 호출 |
기본 사용법
import { Tag } from "@vortex/ui-icignal"
<Tag variant="filter" selected removable onRemove={() => handleRemove()}>
검색 조건
</Tag>접근성
권장 사항
- ✅ 삭제 버튼에
aria-label="Remove tag"자동 적용 - ✅ 의미 있는 텍스트로 Tag의 목적을 전달
- ❌ 아이콘만으로 Tag를 구성하지 않음
관련 컴포넌트
Last updated on