Context Menu

우클릭으로 실행되는 작업 메뉴를 표시합니다.

examples/krds/context-menu-demo.tsx
import {
  ContextMenu,
  ContextMenuCheckboxItem,

설치

pnpm dlx shadcn@latest add https://krdscn.gwlee.kr/r/context-menu.json

사용법

import {
  ContextMenu,
  ContextMenuContent,
  ContextMenuItem,
  ContextMenuTrigger,
} from "@/components/ui/context-menu"
<ContextMenu>
  <ContextMenuTrigger>Right click here</ContextMenuTrigger>
  <ContextMenuContent>
    <ContextMenuItem>Profile</ContextMenuItem>
    <ContextMenuItem>Billing</ContextMenuItem>
    <ContextMenuItem>Team</ContextMenuItem>
    <ContextMenuItem>Subscription</ContextMenuItem>
  </ContextMenuContent>
</ContextMenu>

구성

다음 조합으로 ContextMenu:

ContextMenu
├── ContextMenuTrigger
└── ContextMenuContent
    ├── ContextMenuGroup
    │   ├── ContextMenuLabel
    │   ├── ContextMenuItem
    │   └── ContextMenuItem
    ├── ContextMenuSeparator
    ├── ContextMenuGroup
    │   ├── ContextMenuLabel
    │   ├── ContextMenuCheckboxItem
    │   └── ContextMenuCheckboxItem
    ├── ContextMenuSeparator
    ├── ContextMenuGroup
    │   ├── ContextMenuLabel
    │   └── ContextMenuRadioGroup
    │       ├── ContextMenuRadioItem
    │       └── ContextMenuRadioItem
    └── ContextMenuSub
        ├── ContextMenuSubTrigger
        └── ContextMenuSubContent
            └── ContextMenuGroup
                ├── ContextMenuItem
                └── ContextMenuItem

예제

Basic

A simple context menu with a few actions.

examples/krds/context-menu-basic.tsx
import {
  ContextMenu,
  ContextMenuContent,

Use ContextMenuSub to nest secondary actions.

examples/krds/context-menu-submenu.tsx
import {
  ContextMenu,
  ContextMenuContent,

Shortcuts

Add ContextMenuShortcut to show keyboard hints.

examples/krds/context-menu-shortcuts.tsx
import {
  ContextMenu,
  ContextMenuContent,

Groups

Group related actions and separate them with dividers.

examples/krds/context-menu-groups.tsx
import {
  ContextMenu,
  ContextMenuContent,

Icons

Combine icons with labels for quick scanning.

examples/krds/context-menu-icons.tsx
import {
  ClipboardPasteIcon,
  CopyIcon,

Checkboxes

Use ContextMenuCheckboxItem for toggles.

examples/krds/context-menu-checkboxes.tsx
import {
  ContextMenu,
  ContextMenuCheckboxItem,

Radio

Use ContextMenuRadioItem for exclusive choices.

examples/krds/context-menu-radio.tsx
"use client"

import * as React from "react"

Destructive

Use variant="destructive" to style the menu item as destructive.

examples/krds/context-menu-destructive.tsx
import { PencilIcon, ShareIcon, TrashIcon } from "lucide-react"

import {

RTL

RTL 지원을 활성화하려면 RTL 설정 가이드를 참고하세요.

examples/krds/context-menu-rtl.tsx
"use client"

import * as React from "react"

API 참조

Radix UI 문서를 참고하세요.