# Context Menu · JGuang UI

> Displays a menu of actions triggered by a right click.

- Page: https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu
- Based on: shadcn/ui documentation (MIT) @ bc0705384b51252af26dcc65425b216bf5eb063c

> Example `context-menu-demo`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


## Installation


  

**Command**


  

**Manual**


```text
Use the JGuang UI Registry URL provided on /systems/jguang-ui#install.
```


### Install the following dependencies:


```bash
npm install @base-ui/react
```


### Copy and paste the following code into your project.


[View complete source: components/ui/context-menu.tsx](/r/jguang-ui/base/context-menu.json)


### Update the import paths to match your project setup.


## Usage

```tsx showLineNumbers
import {
  ContextMenu,
  ContextMenuContent,
  ContextMenuItem,
  ContextMenuTrigger,
} from "@/components/ui/context-menu"
```

```tsx showLineNumbers
<ContextMenu>
  <ContextMenuTrigger>Right click here</ContextMenuTrigger>
  <ContextMenuContent>
    <ContextMenuItem>Profile</ContextMenuItem>
    <ContextMenuItem>Billing</ContextMenuItem>
    <ContextMenuItem>Team</ContextMenuItem>
    <ContextMenuItem>Subscription</ContextMenuItem>
  </ContextMenuContent>
</ContextMenu>
```

## Composition

Use the following composition to build a `ContextMenu`:

```text
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.


> Example `context-menu-basic`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


## Submenu

Use `ContextMenuSub` to nest secondary actions.


> Example `context-menu-submenu`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


## Shortcuts

Add `ContextMenuShortcut` to show keyboard hints.


> Example `context-menu-shortcuts`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


## Groups

Group related actions and separate them with dividers.


> Example `context-menu-groups`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


## Icons

Combine icons with labels for quick scanning.


> Example `context-menu-icons`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


## Checkboxes

Use `ContextMenuCheckboxItem` for toggles.


> Example `context-menu-checkboxes`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


## Radio

Use `ContextMenuRadioItem` for exclusive choices.


> Example `context-menu-radio`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


## Destructive

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


> Example `context-menu-destructive`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


## Sides

Control submenu placement with side and align props.


> Example `context-menu-sides`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


## RTL

To enable RTL support in JGuang UI, see the [RTL configuration guide](/systems/jguang-ui/docs/rtl).


> Example `context-menu-rtl`: interactive preview on https://jiguang132.com/systems/jguang-ui/docs/components/base/context-menu


Use `side="inline-end"` to place the menu on the logical right side of the trigger.

```tsx showLineNumbers
<ContextMenu>
  <ContextMenuTrigger>Right click here</ContextMenuTrigger>
  <ContextMenuContent side="inline-end">
    <ContextMenuItem>Profile</ContextMenuItem>
    <ContextMenuItem>Billing</ContextMenuItem>
    <ContextMenuItem>Team</ContextMenuItem>
    <ContextMenuItem>Subscription</ContextMenuItem>
  </ContextMenuContent>
</ContextMenu>
```

## API Reference

See the [Base UI](https://base-ui.com/react/components/context-menu#api-reference) documentation for more information.

---

Index of all JGuang resources: https://jiguang132.com/llms.txt
