Context Menu

Displays a menu to the user triggered by a right-click. Plays open and close sounds.

Displays a menu to the user triggered by a right-click. The sensory-ui Context Menu plays sounds when opening and closing, confirming the contextual action menu.

Pattern: Open / close

Demo

Live demoSwitch sound packs to compare
Right-click here

Installation

npx shadcn@latest add SatyamVyas04/sensory-ui/sensory-ui-context-menu

Import

import {
  ContextMenu,
  ContextMenuCheckboxItem,
  ContextMenuContent,
  ContextMenuGroup,
  ContextMenuItem,
  ContextMenuLabel,
  ContextMenuRadioGroup,
  ContextMenuRadioItem,
  ContextMenuSeparator,
  ContextMenuShortcut,
  ContextMenuSub,
  ContextMenuSubContent,
  ContextMenuSubTrigger,
  ContextMenuTrigger,
} from "@/components/ui/sensory-ui/context-menu";

Sound Props

PropTypeDefaultDescription
soundSoundRole | false"overlay.open"Sound played when the menu opens.
closeSoundSoundRole | false"overlay.close"Sound played when the menu closes.
volumenumber1Per-component volume multiplier (0–1).

Default Sound Role

overlay.open on open, overlay.close on close.

Usage

<ContextMenu>
  <ContextMenuTrigger>Right click me</ContextMenuTrigger>
  <ContextMenuContent>
    <ContextMenuItem>Profile</ContextMenuItem>
    <ContextMenuItem>Settings</ContextMenuItem>
    <ContextMenuSeparator />
    <ContextMenuItem>Logout</ContextMenuItem>
  </ContextMenuContent>
</ContextMenu>

Custom sounds

<ContextMenu sound="interaction.tap" closeSound="interaction.subtle">
  {/* ... */}
</ContextMenu>

Disable sounds

<ContextMenu sound={false} closeSound={false}>
  {/* ... */}
</ContextMenu>

Customizations

File manager

<ContextMenu sound="overlay.open" closeSound="overlay.close">
  <ContextMenuTrigger>
    <FileItem />
  </ContextMenuTrigger>
  <ContextMenuContent>
    <ContextMenuItem>Open</ContextMenuItem>
    <ContextMenuItem>Rename</ContextMenuItem>
    <ContextMenuSeparator />
    <ContextMenuItem className="text-destructive">Delete</ContextMenuItem>
  </ContextMenuContent>
</ContextMenu>

Canvas editor

<ContextMenu sound="interaction.tap" closeSound="interaction.subtle">
  {/* Right-click on canvas elements */}
</ContextMenu>

Default Props

PropValue
sound"overlay.open"
closeSound"overlay.close"
volume1

Tasteful Sound Choices

SituationRecommended SoundWhy
File manageroverlay.open / overlay.closeDefault: clear menu cue
Canvas editorinteraction.tap / interaction.subtleLighter for creative tools
List itemsoverlay.open / overlay.closeConsistent overlay pattern
Destructive actionsnotification.warningFor delete/remove items

When to Use

  • File managers: Right-click on files/folders
  • Canvas editors: Right-click on elements
  • List views: Right-click on rows
  • Desktop-like apps: Any context-sensitive action

Avoid sound on

  • Context menus that appear frequently (right-click heavy workflows)
  • Mobile apps (no right-click equivalent)

Event Triggers

EventDefault Sound
Menu opensoverlay.open
Menu closesoverlay.close

shadcn/ui Reference

View the original Context Menu documentation.