Context menu

A right-click triggered menu with keyboard navigation

Installation

Usage

import {
  ContextMenu,
  ContextMenuTrigger,
  ContextMenuContent,
  ContextMenuItem,
  ContextMenuSeparator,
} from '@/components/ui/context-menu'

<ContextMenuTrigger menuId='my-menu'>
  <div class='rounded-lg border border-dashed p-8 text-center'>
    Right click here
  </div>
</ContextMenuTrigger>
<ContextMenu id='my-menu'>
  <ContextMenuContent>
    <ContextMenuItem>Edit</ContextMenuItem>
    <ContextMenuItem>Duplicate</ContextMenuItem>
    <ContextMenuSeparator />
    <ContextMenuItem variant='destructive'>Delete</ContextMenuItem>
  </ContextMenuContent>
</ContextMenu>

Interactivity

This component is SSR-first and works without client JavaScript. Add @kiwa-ui/enhance for interactive behavior like toggling, keyboard navigation, and ARIA state management.

Add to your layout

<script type="module">
  import { contextMenu } from '@kiwa-ui/enhance'
  contextMenu()
</script>