Skip to Content

Context Menu

우클릭으로 호출되는 컨텍스트 메뉴 컴포넌트


개요

Context Menu 컴포넌트는 특정 영역에서 마우스 우클릭 시 표시되는 메뉴입니다. 메뉴 항목, 구분선, 단축키, 아이콘 등을 지원합니다.

주요 특징

  • 커서 위치 기준 표시: 우클릭 위치에 메뉴 표시
  • 외부 클릭 닫힘: 메뉴 외부 클릭 시 자동 닫힘
  • 메뉴 리스트: 여러 항목을 리스트로 표시, Separator로 그룹 구분
  • 아이콘 지원: 메뉴 항목에 아이콘 표시 가능
  • 비활성 메뉴: disabled 상태 지원
  • 접근성: ARIA 속성 지원
  • 디자인 토큰: 테마 커스터마이징 지원

사용 예시

기본 사용

이 영역에서 우클릭하세요

아이콘과 함께 사용

이 영역에서 우클릭하세요 (아이콘 메뉴)

비활성 메뉴

이 영역에서 우클릭하세요 (비활성 메뉴)

메뉴 선택 핸들러

이 영역에서 우클릭하세요 (선택 핸들러)

API Reference

ContextMenu

PropTypeDefaultDescription
onOpenChange(open: boolean) => void-메뉴 열림/닫힘 변경
childrenReact.ReactNode-Trigger + Content

ContextMenuTrigger

PropTypeDefaultDescription
childrenReact.ReactNode-우클릭 대상 영역
classNamestring-추가 CSS 클래스

ContextMenuContent

PropTypeDefaultDescription
align"start" | "center" | "end""start"정렬 방향
alignOffsetnumber4정렬 오프셋
side"top" | "right" | "bottom" | "left""right"표시 방향
sideOffsetnumber0표시 오프셋
classNamestring-추가 CSS 클래스

ContextMenuItem

PropTypeDefaultDescription
variant"default" | "destructive""default"스타일 variant
disabledbooleanfalse비활성화
insetbooleanfalse좌측 여백 추가
classNamestring-추가 CSS 클래스

Events

EventTypeDescription
onSelect() => void메뉴 항목 선택

ContextMenuSeparator

PropTypeDefaultDescription
classNamestring-추가 CSS 클래스

ContextMenuShortcut

PropTypeDefaultDescription
classNamestring-추가 CSS 클래스

기본 사용법

import { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuSeparator, ContextMenuShortcut, } from "@vortex/ui-foundation" <ContextMenu> <ContextMenuTrigger> <div>우클릭 영역</div> </ContextMenuTrigger> <ContextMenuContent> <ContextMenuItem>항목 1</ContextMenuItem> <ContextMenuItem>항목 2</ContextMenuItem> <ContextMenuSeparator /> <ContextMenuItem>항목 3</ContextMenuItem> </ContextMenuContent> </ContextMenu>

접근성

ARIA 속성

// Context Menu는 자동으로 적절한 ARIA role을 적용합니다. // - ContextMenuContent: role="menu" // - ContextMenuItem: role="menuitem" // - 키보드 내비게이션 지원 (↑↓ 키)

권장 사항

  • ✅ 키보드로 메뉴 항목 탐색 가능
  • ✅ Escape 키로 메뉴 닫기
  • ✅ 비활성 항목에 명확한 시각적 피드백

관련 컴포넌트

Last updated on